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 " serial NOT NULL ,
" group_name " character varying ( 255 ) NOT NULL ,
PRIMARY KEY ( " id " ) ,
CONSTRAINT " global_medal_group_group_name " UNIQUE ( " group_name " )
) ;
;
CREATE TABLE " global_medals " (
" id " serial 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 ,
PRIMARY KEY ( " id " )
) ;
CREATE INDEX " global_medals_idx_group_id " on " global_medals " ( " group_id " ) ;
;
CREATE TABLE " global_user_medal_progress " (
" id " serial 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 ,
PRIMARY KEY ( " id " )
) ;
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 " serial 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 " timestamp NOT NULL ,
" threshold " integer NOT NULL ,
PRIMARY KEY ( " id " )
) ;
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 " serial NOT NULL ,
" group_name " character varying ( 255 ) NOT NULL ,
PRIMARY KEY ( " id " ) ,
CONSTRAINT " org_medal_group_group_name " UNIQUE ( " group_name " )
) ;
;
CREATE TABLE " org_medals " (
" id " serial 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 ,
PRIMARY KEY ( " id " )
) ;
CREATE INDEX " org_medals_idx_group_id " on " org_medals " ( " group_id " ) ;
;
CREATE TABLE " org_user_medal_progress " (
" id " serial 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 ,
PRIMARY KEY ( " id " )
) ;
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 " serial 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 " timestamp NOT NULL ,
" threshold " integer NOT NULL ,
PRIMARY KEY ( " id " )
) ;
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 " serial NOT NULL ,
" buyer_id " integer NOT NULL ,
" seller_id " integer NOT NULL ,
" value " numeric ( 100 , 0 ) NOT NULL ,
" start_time " timestamp NOT NULL ,
" last_updated " timestamp ,
" essential " boolean DEFAULT false NOT NULL ,
" distance " numeric ( 15 ) ,
" category_id " integer ,
" recurring_period " character varying ( 255 ) NOT NULL ,
PRIMARY KEY ( " id " )
) ;
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 " ) ;
2018-02-21 12:51:43 +00:00
;
ALTER TABLE " global_medals " ADD CONSTRAINT " global_medals_fk_group_id " FOREIGN KEY ( " group_id " )
REFERENCES " global_medal_group " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
;
ALTER TABLE " global_user_medal_progress " ADD CONSTRAINT " global_user_medal_progress_fk_entity_id " FOREIGN KEY ( " entity_id " )
REFERENCES " entities " ( " id " ) DEFERRABLE ;
;
ALTER TABLE " global_user_medal_progress " ADD CONSTRAINT " global_user_medal_progress_fk_group_id " FOREIGN KEY ( " group_id " )
REFERENCES " global_medal_group " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
;
ALTER TABLE " global_user_medals " ADD CONSTRAINT " global_user_medals_fk_entity_id " FOREIGN KEY ( " entity_id " )
REFERENCES " entities " ( " id " ) DEFERRABLE ;
;
ALTER TABLE " global_user_medals " ADD CONSTRAINT " global_user_medals_fk_group_id " FOREIGN KEY ( " group_id " )
REFERENCES " global_medal_group " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
;
ALTER TABLE " org_medals " ADD CONSTRAINT " org_medals_fk_group_id " FOREIGN KEY ( " group_id " )
REFERENCES " org_medal_group " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
;
ALTER TABLE " org_user_medal_progress " ADD CONSTRAINT " org_user_medal_progress_fk_entity_id " FOREIGN KEY ( " entity_id " )
REFERENCES " entities " ( " id " ) DEFERRABLE ;
;
ALTER TABLE " org_user_medal_progress " ADD CONSTRAINT " org_user_medal_progress_fk_group_id " FOREIGN KEY ( " group_id " )
REFERENCES " org_medal_group " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
;
ALTER TABLE " org_user_medals " ADD CONSTRAINT " org_user_medals_fk_entity_id " FOREIGN KEY ( " entity_id " )
REFERENCES " entities " ( " id " ) DEFERRABLE ;
;
ALTER TABLE " org_user_medals " ADD CONSTRAINT " org_user_medals_fk_group_id " FOREIGN KEY ( " group_id " )
REFERENCES " org_medal_group " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
2018-03-09 17:44:47 +00:00
;
ALTER TABLE " transaction_recurring " ADD CONSTRAINT " transaction_recurring_fk_buyer_id " FOREIGN KEY ( " buyer_id " )
REFERENCES " entities " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
;
ALTER TABLE " transaction_recurring " ADD CONSTRAINT " transaction_recurring_fk_category_id " FOREIGN KEY ( " category_id " )
REFERENCES " category " ( " id " ) DEFERRABLE ;
;
ALTER TABLE " transaction_recurring " ADD CONSTRAINT " transaction_recurring_fk_seller_id " FOREIGN KEY ( " seller_id " )
REFERENCES " entities " ( " id " ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
;
ALTER TABLE transactions ADD COLUMN essential boolean DEFAULT false NOT NULL ;
2018-02-21 12:51:43 +00:00
;
COMMIT ;