This commit is contained in:
2019-10-06 20:58:13 +02:00
parent b4f707da19
commit 857562c0eb
17 changed files with 478 additions and 34 deletions

View File

@@ -0,0 +1 @@
SELECT id, name, applied_at FROM migrations ORDER BY applied_at

1
sql/migrations/apply.sql Normal file
View File

@@ -0,0 +1 @@
INSERT INTO migrations (name) VALUES ($1);

View File

@@ -0,0 +1,5 @@
CREATE TABLE IF NOT EXISTS migrations (
id integer GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
name text UNIQUE NOT NULL,
applied_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP
)

View File

@@ -0,0 +1 @@
DROP FUNCTION set_updated_timestamp;

View File

@@ -0,0 +1,11 @@
CREATE OR REPLACE FUNCTION set_updated_timestamp()
RETURNS TRIGGER AS $$
BEGIN
IF row(NEW.*) IS DISTINCT FROM row(OLD.*) THEN
NEW.updated_at = now();
RETURN NEW;
ELSE
RETURN OLD;
END IF;
END;
$$ language 'plpgsql';

View File

@@ -0,0 +1 @@
DROP TABLE users;

View File

@@ -0,0 +1,9 @@
CREATE TABLE users (
id integer GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
email text NOT NULL UNIQUE,
encrypted_password text NOT NULL,
created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TRIGGER set_users_updated BEFORE UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE set_updated_timestamp();

1
sql/users/create.sql Normal file
View File

@@ -0,0 +1 @@
INSERT INTO users (email, encrypted_password) VALUES ($1, $2) RETURNING id

1
sql/users/login.sql Normal file
View File

@@ -0,0 +1 @@
SELECT id, encrypted_password FROM users WHERE email=$1