From c3194fba972af81223e0b895bc36014602a4a014 Mon Sep 17 00:00:00 2001 From: ntr Date: Thu, 13 Sep 2018 17:21:49 +1000 Subject: [PATCH] migrations --- ops/.gitignore | 2 ++ ops/.gitkeep | 0 .../down.sql | 6 ---- .../up.sql | 36 ------------------- ops/2018-09-11-113648_create_lobbies/down.sql | 1 - ops/2018-09-11-113648_create_lobbies/up.sql | 6 ---- ops/knexfile.js | 23 ++++++++++++ ops/migrations/20180913000513_create_users.js | 8 +++++ ops/package.json | 15 ++++++++ 9 files changed, 48 insertions(+), 49 deletions(-) create mode 100755 ops/.gitignore delete mode 100644 ops/.gitkeep delete mode 100644 ops/00000000000000_diesel_initial_setup/down.sql delete mode 100644 ops/00000000000000_diesel_initial_setup/up.sql delete mode 100755 ops/2018-09-11-113648_create_lobbies/down.sql delete mode 100755 ops/2018-09-11-113648_create_lobbies/up.sql create mode 100755 ops/knexfile.js create mode 100755 ops/migrations/20180913000513_create_users.js create mode 100644 ops/package.json diff --git a/ops/.gitignore b/ops/.gitignore new file mode 100755 index 00000000..3ea1bb5c --- /dev/null +++ b/ops/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +package-lock.json \ No newline at end of file diff --git a/ops/.gitkeep b/ops/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/ops/00000000000000_diesel_initial_setup/down.sql b/ops/00000000000000_diesel_initial_setup/down.sql deleted file mode 100644 index a9f52609..00000000 --- a/ops/00000000000000_diesel_initial_setup/down.sql +++ /dev/null @@ -1,6 +0,0 @@ --- This file was automatically created by Diesel to setup helper functions --- and other internal bookkeeping. This file is safe to edit, any future --- changes will be added to existing projects as new migrations. - -DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass); -DROP FUNCTION IF EXISTS diesel_set_updated_at(); diff --git a/ops/00000000000000_diesel_initial_setup/up.sql b/ops/00000000000000_diesel_initial_setup/up.sql deleted file mode 100644 index d68895b1..00000000 --- a/ops/00000000000000_diesel_initial_setup/up.sql +++ /dev/null @@ -1,36 +0,0 @@ --- This file was automatically created by Diesel to setup helper functions --- and other internal bookkeeping. This file is safe to edit, any future --- changes will be added to existing projects as new migrations. - - - - --- Sets up a trigger for the given table to automatically set a column called --- `updated_at` whenever the row is modified (unless `updated_at` was included --- in the modified columns) --- --- # Example --- --- ```sql --- CREATE TABLE users (id SERIAL PRIMARY KEY, updated_at TIMESTAMP NOT NULL DEFAULT NOW()); --- --- SELECT diesel_manage_updated_at('users'); --- ``` -CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$ -BEGIN - EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s - FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl); -END; -$$ LANGUAGE plpgsql; - -CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$ -BEGIN - IF ( - NEW IS DISTINCT FROM OLD AND - NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at - ) THEN - NEW.updated_at := current_timestamp; - END IF; - RETURN NEW; -END; -$$ LANGUAGE plpgsql; diff --git a/ops/2018-09-11-113648_create_lobbies/down.sql b/ops/2018-09-11-113648_create_lobbies/down.sql deleted file mode 100755 index 62b267e6..00000000 --- a/ops/2018-09-11-113648_create_lobbies/down.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE lobbies; \ No newline at end of file diff --git a/ops/2018-09-11-113648_create_lobbies/up.sql b/ops/2018-09-11-113648_create_lobbies/up.sql deleted file mode 100755 index c0e4cd3e..00000000 --- a/ops/2018-09-11-113648_create_lobbies/up.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE lobbies ( - id uuid PRIMARY KEY, - a uuid NOT NULL, - b uuid, - data bytea -); diff --git a/ops/knexfile.js b/ops/knexfile.js new file mode 100755 index 00000000..6adf10e2 --- /dev/null +++ b/ops/knexfile.js @@ -0,0 +1,23 @@ +// Update with your config settings. + +const local = { + client: 'postgresql', + connection: { + database: 'cryps', + user: 'cryps', + password: 'craftbeer' + }, + pool: { + min: 2, + max: 10 + }, + migrations: { + tableName: 'knex_migrations' + } +}; + + +module.exports = { + development: local, + production: local, +}; diff --git a/ops/migrations/20180913000513_create_users.js b/ops/migrations/20180913000513_create_users.js new file mode 100755 index 00000000..bf7bb512 --- /dev/null +++ b/ops/migrations/20180913000513_create_users.js @@ -0,0 +1,8 @@ +exports.up = async knex => { + return knex.schema.createTable('users', table => { + table.uuid('id').primary(); + table.text('name'); + }); +}; + +exports.down = async () => {}; \ No newline at end of file diff --git a/ops/package.json b/ops/package.json new file mode 100644 index 00000000..50725726 --- /dev/null +++ b/ops/package.json @@ -0,0 +1,15 @@ +{ + "name": "migrations", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "knex": "^0.15.2", + "pg": "^7.4.3" + } +}