TSK-665: added schema update script and fixed schema versioning.

This commit is contained in:
Holger Hagen 2018-07-30 16:57:58 +02:00
parent 8a8063764e
commit b335bb02f5
4 changed files with 37 additions and 5 deletions

View File

@ -1 +1 @@
SELECT COUNT(*) FROM TASKANA.TASKANA_SCHEMA_VERSION;
SELECT MAX(VERSION) FROM TASKANA.TASKANA_SCHEMA_VERSION;

View File

@ -1,12 +1,13 @@
CREATE SCHEMA IF NOT EXISTS TASKANA;
CREATE TABLE TASKANA.TASKANA_SCHEMA_VERSION(
ID CHAR(40) NOT NULL,
ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),
VERSION VARCHAR(255) NOT NULL,
CREATED TIMESTAMP NOT NULL,
PRIMARY KEY (ID)
);
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION VALUES ('1', '1.0.2');
INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('1.0.2', CURRENT_TIMESTAMP);
CREATE TABLE TASKANA.CLASSIFICATION(
ID CHAR(40) NOT NULL,

View File

@ -1,10 +1,11 @@
CREATE TABLE TASKANA.TASKANA_SCHEMA_VERSION(
ID CHAR(40) NOT NULL,
ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
VERSION VARCHAR(255) NOT NULL,
CREATED TIMESTAMP NOT NULL,
PRIMARY KEY (ID)
);
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION VALUES ('1', '1.0.2');
INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('1.0.2', CURRENT_TIMESTAMP);
CREATE TABLE TASKANA.CLASSIFICATION(
ID CHAR(40) NOT NULL,

View File

@ -0,0 +1,30 @@
-- this script migrates the schema only.
-- data is not migrated, as this is currently not necessary.
DROP TABLE TASKANA.TASKANA_SCHEMA_VERSION;
CREATE TABLE TASKANA.TASKANA_SCHEMA_VERSION(
ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
VERSION VARCHAR(255) NOT NULL,
CREATED TIMESTAMP NOT NULL,
PRIMARY KEY (ID)
);
INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('0.9.2', CURRENT_TIMESTAMP);
INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('1.0.2', CURRENT_TIMESTAMP);
DROP TABLE TASKANA.JOB;
CREATE TABLE TASKANA.SCHEDULED_JOB(
JOB_ID INTEGER NOT NULL,
PRIORITY INTEGER NULL,
CREATED TIMESTAMP NULL,
DUE TIMESTAMP NULL,
STATE VARCHAR(32) NULL,
LOCKED_BY VARCHAR(32) NULL,
LOCK_EXPIRES TIMESTAMP NULL,
TYPE VARCHAR(32) NULL,
RETRY_COUNT INTEGER NOT NULL,
ARGUMENTS TEXT NULL,
PRIMARY KEY (JOB_ID)
);