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);