Skip to content

Commit 70cfb2d

Browse files
author
Victor
committed
feat: add the database.sql file with instructions to create the database
1 parent 6b023e5 commit 70cfb2d

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

database.sql

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
CREATE FUNCTION set_updated_at_timestamp()
2+
RETURNS TRIGGER AS $$
3+
BEGIN
4+
NEW.updated_at = NOW();
5+
RETURN NEW;
6+
END;
7+
$$ LANGUAGE plpgsql;
8+
9+
CREATE TABLE users (
10+
id SERIAL NOT NULL PRIMARY KEY,
11+
name TEXT NOT NULL,
12+
email TEXT NOT NULL UNIQUE,
13+
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW()),
14+
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW())
15+
);
16+
17+
CREATE TABLE products (
18+
id SERIAL NOT NULL PRIMARY KEY,
19+
description TEXT NOT NULL,
20+
user_id INT NOT NULL REFERENCES users (id) ON UPDATE CASCADE ON DELETE CASCADE,
21+
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW()),
22+
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW())
23+
);
24+
25+
CREATE TRIGGER set_updated_at_timestamp BEFORE UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE set_updated_at_timestamp();
26+
CREATE TRIGGER set_updated_at_timestamp BEFORE UPDATE ON products FOR EACH ROW EXECUTE PROCEDURE set_updated_at_timestamp();

0 commit comments

Comments
 (0)