diff --git a/cmd/database/sql/create_tables.sql b/cmd/database/sql/create_tables.sql index fadadf4..58ba382 100644 --- a/cmd/database/sql/create_tables.sql +++ b/cmd/database/sql/create_tables.sql @@ -1,17 +1,24 @@ -CREATE TABLE CDSView ( +CREATE TABLE IF NOT EXISTS CDSView ( TechnicalName TEXT PRIMARY KEY, DisplayName TEXT, Description TEXT, Version TEXT, State TEXT, CreatedAt INTEGER, - ModifiedAt INTEGER -) -CREATE TABLE CDSViewField ( - CDSViewTechnicalName TEXT PRIMARY KEY, - FieldName TEXT PRIMARY KEY, + ModifiedAt INTEGER, + PRIMARY KEY (TechnicalName) +); + +CREATE INDEX IF NOT EXISTS CDSViewKey ON CDSView (TechnicalName); + +CREATE TABLE IF NOT EXISTS CDSViewField ( + CDSViewTechnicalName TEXT, + FieldName TEXT, Description TEXT, DataType TEXT, FieldLength TEXT, + PRIMARY KEY (FieldName, CDSViewTechnicalName), FOREIGN KEY (CDSViewTechnicalName) REFERENCES CDSView (TechnicalName) -) +); + +CREATE INDEX IF NOT EXISTS CDSViewFieldKey ON CDSViewField (CDSViewTechnicalName, FieldName);