2018-02-21 12:51:43 +00:00
-- Convert schema 'share/ddl/_source/deploy/22/001-auto.yml' to 'share/ddl/_source/deploy/23/001-auto.yml':;
;
BEGIN ;
;
CREATE TABLE global_medal_group (
id INTEGER PRIMARY KEY NOT NULL ,
group_name varchar ( 255 ) NOT NULL
) ;
;
CREATE UNIQUE INDEX global_medal_group_group_name ON global_medal_group ( group_name ) ;
;
CREATE TABLE global_medals (
id INTEGER PRIMARY KEY NOT NULL ,
2018-03-09 17:44:47 +00:00
group_id integer NOT NULL ,
2018-02-21 12:51:43 +00:00
threshold integer NOT NULL ,
points integer NOT NULL ,
FOREIGN KEY ( group_id ) REFERENCES global_medal_group ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION
) ;
;
CREATE INDEX global_medals_idx_group_id ON global_medals ( group_id ) ;
;
CREATE TABLE global_user_medal_progress (
id INTEGER PRIMARY KEY NOT NULL ,
2018-03-09 17:44:47 +00:00
entity_id integer NOT NULL ,
group_id integer NOT NULL ,
2018-02-21 12:51:43 +00:00
total integer NOT NULL ,
FOREIGN KEY ( entity_id ) REFERENCES entities ( id ) ,
FOREIGN KEY ( group_id ) REFERENCES global_medal_group ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION
) ;
;
CREATE INDEX global_user_medal_progress_idx_entity_id ON global_user_medal_progress ( entity_id ) ;
;
CREATE INDEX global_user_medal_progress_idx_group_id ON global_user_medal_progress ( group_id ) ;
;
CREATE TABLE global_user_medals (
id INTEGER PRIMARY KEY NOT NULL ,
2018-03-09 17:44:47 +00:00
entity_id integer NOT NULL ,
group_id integer NOT NULL ,
2018-02-21 12:51:43 +00:00
points integer NOT NULL ,
awarded_at datetime NOT NULL ,
threshold integer NOT NULL ,
FOREIGN KEY ( entity_id ) REFERENCES entities ( id ) ,
FOREIGN KEY ( group_id ) REFERENCES global_medal_group ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION
) ;
;
CREATE INDEX global_user_medals_idx_entity_id ON global_user_medals ( entity_id ) ;
;
CREATE INDEX global_user_medals_idx_group_id ON global_user_medals ( group_id ) ;
;
CREATE TABLE org_medal_group (
id INTEGER PRIMARY KEY NOT NULL ,
group_name varchar ( 255 ) NOT NULL
) ;
;
CREATE UNIQUE INDEX org_medal_group_group_name ON org_medal_group ( group_name ) ;
;
CREATE TABLE org_medals (
id INTEGER PRIMARY KEY NOT NULL ,
2018-03-09 17:44:47 +00:00
group_id integer NOT NULL ,
2018-02-21 12:51:43 +00:00
threshold integer NOT NULL ,
points integer NOT NULL ,
FOREIGN KEY ( group_id ) REFERENCES org_medal_group ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION
) ;
;
CREATE INDEX org_medals_idx_group_id ON org_medals ( group_id ) ;
;
CREATE TABLE org_user_medal_progress (
id INTEGER PRIMARY KEY NOT NULL ,
2018-03-09 17:44:47 +00:00
entity_id integer NOT NULL ,
group_id integer NOT NULL ,
2018-02-21 12:51:43 +00:00
total integer NOT NULL ,
FOREIGN KEY ( entity_id ) REFERENCES entities ( id ) ,
FOREIGN KEY ( group_id ) REFERENCES org_medal_group ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION
) ;
;
CREATE INDEX org_user_medal_progress_idx_entity_id ON org_user_medal_progress ( entity_id ) ;
;
CREATE INDEX org_user_medal_progress_idx_group_id ON org_user_medal_progress ( group_id ) ;
;
CREATE TABLE org_user_medals (
id INTEGER PRIMARY KEY NOT NULL ,
2018-03-09 17:44:47 +00:00
entity_id integer NOT NULL ,
group_id integer NOT NULL ,
2018-02-21 12:51:43 +00:00
points integer NOT NULL ,
awarded_at datetime NOT NULL ,
threshold integer NOT NULL ,
FOREIGN KEY ( entity_id ) REFERENCES entities ( id ) ,
FOREIGN KEY ( group_id ) REFERENCES org_medal_group ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION
) ;
;
CREATE INDEX org_user_medals_idx_entity_id ON org_user_medals ( entity_id ) ;
;
CREATE INDEX org_user_medals_idx_group_id ON org_user_medals ( group_id ) ;
2018-03-09 17:44:47 +00:00
;
CREATE TABLE transaction_recurring (
id INTEGER PRIMARY KEY NOT NULL ,
buyer_id integer NOT NULL ,
seller_id integer NOT NULL ,
value numeric ( 100 , 0 ) NOT NULL ,
start_time datetime NOT NULL ,
last_updated datetime ,
essential boolean NOT NULL DEFAULT false ,
distance numeric ( 15 ) ,
category_id integer ,
recurring_period varchar ( 255 ) NOT NULL ,
FOREIGN KEY ( buyer_id ) REFERENCES entities ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION ,
FOREIGN KEY ( category_id ) REFERENCES category ( id ) ,
FOREIGN KEY ( seller_id ) REFERENCES entities ( id ) ON DELETE NO ACTION ON UPDATE NO ACTION
) ;
;
CREATE INDEX transaction_recurring_idx_buyer_id ON transaction_recurring ( buyer_id ) ;
;
CREATE INDEX transaction_recurring_idx_category_id ON transaction_recurring ( category_id ) ;
;
CREATE INDEX transaction_recurring_idx_seller_id ON transaction_recurring ( seller_id ) ;
;
ALTER TABLE transactions ADD COLUMN essential boolean NOT NULL DEFAULT false ;
2018-02-21 12:51:43 +00:00
;
COMMIT ;