From 197c909d2a9569a0f804c0748b7a83f9b38fb341 Mon Sep 17 00:00:00 2001 From: marcellmueller Date: Sat, 26 Mar 2022 13:31:03 -0700 Subject: [PATCH] Init sqitch, create schema --- db/schema/deploy/insert_task.sql | 17 +++++++++++++++++ db/schema/deploy/tasks.sql | 16 ++++++++++++++++ db/schema/deploy/todo_app.sql | 7 +++++++ db/schema/revert/insert_task.sql | 7 +++++++ db/schema/revert/tasks.sql | 7 +++++++ db/schema/revert/todo_app.sql | 7 +++++++ db/schema/sqitch.conf | 8 ++++++++ db/schema/sqitch.plan | 6 ++++++ db/schema/verify/insert_task.sql | 8 ++++++++ db/schema/verify/tasks.sql | 9 +++++++++ db/schema/verify/todo_app.sql | 7 +++++++ 11 files changed, 99 insertions(+) create mode 100644 db/schema/deploy/insert_task.sql create mode 100644 db/schema/deploy/tasks.sql create mode 100644 db/schema/deploy/todo_app.sql create mode 100644 db/schema/revert/insert_task.sql create mode 100644 db/schema/revert/tasks.sql create mode 100644 db/schema/revert/todo_app.sql create mode 100644 db/schema/sqitch.conf create mode 100644 db/schema/sqitch.plan create mode 100644 db/schema/verify/insert_task.sql create mode 100644 db/schema/verify/tasks.sql create mode 100644 db/schema/verify/todo_app.sql diff --git a/db/schema/deploy/insert_task.sql b/db/schema/deploy/insert_task.sql new file mode 100644 index 0000000..b3067ff --- /dev/null +++ b/db/schema/deploy/insert_task.sql @@ -0,0 +1,17 @@ +-- Deploy db:insert_task to pg +-- requires: tasks +-- requires: todo_app + +BEGIN; + +INSERT INTO + todo_app.tasks (task, completed, date_created, date_updated) +VALUES + ('Clone project', TRUE, NOW(), NOW()), + ('Create database', TRUE, NOW(), NOW()), + ('Initialize sqitch schema', TRUE, NOW(), NOW()), + ('Create dummy data', TRUE, NOW(), NOW()), + ('Create Postgraphile API', FALSE, NOW(), NOW()), + ('Create front end', FALSE, NOW(), NOW()); + +COMMIT; diff --git a/db/schema/deploy/tasks.sql b/db/schema/deploy/tasks.sql new file mode 100644 index 0000000..2cbc27f --- /dev/null +++ b/db/schema/deploy/tasks.sql @@ -0,0 +1,16 @@ +-- Deploy db:tasks to pg +-- requires: todo_app + +BEGIN; + +SET client_min_messages = 'warning'; + +CREATE TABLE todo_app.tasks ( + id SERIAL PRIMARY KEY, + task TEXT NOT NULL, + completed BOOLEAN NOT NULL, + date_created TIMESTAMPTZ NOT NULL DEFAULT NOW(), + date_updated TIMESTAMPTZ NOT NULL DEFAULT NOW() +); + +COMMIT; diff --git a/db/schema/deploy/todo_app.sql b/db/schema/deploy/todo_app.sql new file mode 100644 index 0000000..9892076 --- /dev/null +++ b/db/schema/deploy/todo_app.sql @@ -0,0 +1,7 @@ +-- Deploy db:todo_app to pg + +BEGIN; + +CREATE SCHEMA todo_app; + +COMMIT; diff --git a/db/schema/revert/insert_task.sql b/db/schema/revert/insert_task.sql new file mode 100644 index 0000000..3493ca3 --- /dev/null +++ b/db/schema/revert/insert_task.sql @@ -0,0 +1,7 @@ +-- Revert db:insert_task from pg + +BEGIN; + +-- XXX Add DDLs here. + +COMMIT; diff --git a/db/schema/revert/tasks.sql b/db/schema/revert/tasks.sql new file mode 100644 index 0000000..82e8316 --- /dev/null +++ b/db/schema/revert/tasks.sql @@ -0,0 +1,7 @@ +-- Revert db:tasks from pg + +BEGIN; + +DROP TABLE todo_app.tasks; + +COMMIT; diff --git a/db/schema/revert/todo_app.sql b/db/schema/revert/todo_app.sql new file mode 100644 index 0000000..e10acf2 --- /dev/null +++ b/db/schema/revert/todo_app.sql @@ -0,0 +1,7 @@ +-- Revert db:todo_app from pg + +BEGIN; + +DROP SCHEMA todo_app; + +COMMIT; diff --git a/db/schema/sqitch.conf b/db/schema/sqitch.conf new file mode 100644 index 0000000..0813abd --- /dev/null +++ b/db/schema/sqitch.conf @@ -0,0 +1,8 @@ +[core] + engine = pg + plan_file = sqitch.plan + top_dir = . +[engine "pg"] + target = db:pg:todo_app + registry = sqitch + client = psql diff --git a/db/schema/sqitch.plan b/db/schema/sqitch.plan new file mode 100644 index 0000000..e278a29 --- /dev/null +++ b/db/schema/sqitch.plan @@ -0,0 +1,6 @@ +%syntax-version=1.0.0 +%project=db + +todo_app 2022-03-26T15:09:15Z marcel # Add schema for todo app +tasks [todo_app] 2022-03-26T15:38:14Z marcel # Creates a table to store our todo tasks +insert_task [tasks todo_app] 2022-03-26T19:06:02Z marcel # Add some dummy data diff --git a/db/schema/verify/insert_task.sql b/db/schema/verify/insert_task.sql new file mode 100644 index 0000000..9b02dc2 --- /dev/null +++ b/db/schema/verify/insert_task.sql @@ -0,0 +1,8 @@ +-- Verify db:insert_task on pg + +BEGIN; + +SELECT id, task, completed, date_created, date_updated + FROM todo_app.tasks; + +ROLLBACK; diff --git a/db/schema/verify/tasks.sql b/db/schema/verify/tasks.sql new file mode 100644 index 0000000..7f2d75b --- /dev/null +++ b/db/schema/verify/tasks.sql @@ -0,0 +1,9 @@ +-- Verify db:tasks on pg + +BEGIN; + +SELECT id, task, completed, date_created, date_updated + FROM todo_app.tasks + WHERE FALSE; + +ROLLBACK; diff --git a/db/schema/verify/todo_app.sql b/db/schema/verify/todo_app.sql new file mode 100644 index 0000000..c0be197 --- /dev/null +++ b/db/schema/verify/todo_app.sql @@ -0,0 +1,7 @@ +-- Verify db:todo_app on pg + +BEGIN; + +SELECT pg_catalog.has_schema_privilege('todo_app', 'usage'); + +ROLLBACK;