From 0a6c38661a8d1f1c4c7a0187d314eeb7c1ebeab0 Mon Sep 17 00:00:00 2001 From: Fabrice Lecomte Date: Mon, 1 Jul 2019 16:58:19 +0200 Subject: [PATCH] feature: Add SQL for migration --- .../resources/sql/migration/createFunctionShema.sql | 13 +++++++++++++ .../resources/sql/migration/createHistoryShema.sql | 12 ++++++++++++ src/main/resources/sql/migration/deleteFunction.sql | 3 +++ src/main/resources/sql/migration/deleteHistory.sql | 3 +++ .../resources/sql/migration/findAllFunction.sql | 2 ++ src/main/resources/sql/migration/findAllHistory.sql | 2 ++ src/main/resources/sql/migration/getNextVersion.sql | 1 + src/main/resources/sql/migration/insertFunction.sql | 2 ++ src/main/resources/sql/migration/insertHistory.sql | 2 ++ 9 files changed, 40 insertions(+) create mode 100644 src/main/resources/sql/migration/createFunctionShema.sql create mode 100644 src/main/resources/sql/migration/createHistoryShema.sql create mode 100644 src/main/resources/sql/migration/deleteFunction.sql create mode 100644 src/main/resources/sql/migration/deleteHistory.sql create mode 100644 src/main/resources/sql/migration/findAllFunction.sql create mode 100644 src/main/resources/sql/migration/findAllHistory.sql create mode 100644 src/main/resources/sql/migration/getNextVersion.sql create mode 100644 src/main/resources/sql/migration/insertFunction.sql create mode 100644 src/main/resources/sql/migration/insertHistory.sql diff --git a/src/main/resources/sql/migration/createFunctionShema.sql b/src/main/resources/sql/migration/createFunctionShema.sql new file mode 100644 index 0000000..0495d68 --- /dev/null +++ b/src/main/resources/sql/migration/createFunctionShema.sql @@ -0,0 +1,13 @@ +CREATE SCHEMA IF NOT EXISTS migration; + +CREATE TABLE IF NOT EXISTS migration.functions +( + filename text PRIMARY KEY, + definition text NOT NULL, + executed_at timestamp DEFAULT now() NOT NULL, + up text NOT NULL, + down text NOT NULL, + version int NOT NULL +); + +CREATE SEQUENCE IF NOT EXISTS migration.version_seq; \ No newline at end of file diff --git a/src/main/resources/sql/migration/createHistoryShema.sql b/src/main/resources/sql/migration/createHistoryShema.sql new file mode 100644 index 0000000..8a3802f --- /dev/null +++ b/src/main/resources/sql/migration/createHistoryShema.sql @@ -0,0 +1,12 @@ +CREATE SCHEMA IF NOT EXISTS migration; + +CREATE TABLE IF NOT EXISTS migration.history +( + filename text PRIMARY KEY, + executed_at timestamp DEFAULT now() NOT NULL, + up text NOT NULL, + down text NOT NULL, + version int NOT NULL +); + +CREATE SEQUENCE IF NOT EXISTS migration.version_seq; diff --git a/src/main/resources/sql/migration/deleteFunction.sql b/src/main/resources/sql/migration/deleteFunction.sql new file mode 100644 index 0000000..73c2786 --- /dev/null +++ b/src/main/resources/sql/migration/deleteFunction.sql @@ -0,0 +1,3 @@ +DELETE +FROM migration.functions +WHERE filename = :filename; \ No newline at end of file diff --git a/src/main/resources/sql/migration/deleteHistory.sql b/src/main/resources/sql/migration/deleteHistory.sql new file mode 100644 index 0000000..6eca48f --- /dev/null +++ b/src/main/resources/sql/migration/deleteHistory.sql @@ -0,0 +1,3 @@ +DELETE +FROM migration.history +WHERE filename = :filename; \ No newline at end of file diff --git a/src/main/resources/sql/migration/findAllFunction.sql b/src/main/resources/sql/migration/findAllFunction.sql new file mode 100644 index 0000000..0fa1da8 --- /dev/null +++ b/src/main/resources/sql/migration/findAllFunction.sql @@ -0,0 +1,2 @@ +SELECT json_object_agg(filename, f) +FROM migration.functions f; \ No newline at end of file diff --git a/src/main/resources/sql/migration/findAllHistory.sql b/src/main/resources/sql/migration/findAllHistory.sql new file mode 100644 index 0000000..0fa1da8 --- /dev/null +++ b/src/main/resources/sql/migration/findAllHistory.sql @@ -0,0 +1,2 @@ +SELECT json_object_agg(filename, f) +FROM migration.functions f; \ No newline at end of file diff --git a/src/main/resources/sql/migration/getNextVersion.sql b/src/main/resources/sql/migration/getNextVersion.sql new file mode 100644 index 0000000..904b21b --- /dev/null +++ b/src/main/resources/sql/migration/getNextVersion.sql @@ -0,0 +1 @@ +SELECT nextval('migration.version_seq'); \ No newline at end of file diff --git a/src/main/resources/sql/migration/insertFunction.sql b/src/main/resources/sql/migration/insertFunction.sql new file mode 100644 index 0000000..5a4199a --- /dev/null +++ b/src/main/resources/sql/migration/insertFunction.sql @@ -0,0 +1,2 @@ +INSERT INTO migration.functions (filename, definition, up, down, version) +VALUES (:filename, :definition, :up, :down, :version); diff --git a/src/main/resources/sql/migration/insertHistory.sql b/src/main/resources/sql/migration/insertHistory.sql new file mode 100644 index 0000000..271b8eb --- /dev/null +++ b/src/main/resources/sql/migration/insertHistory.sql @@ -0,0 +1,2 @@ +INSERT INTO migration.history (filename, up, down, version) +VALUES (:filename, :up, :down, :version);