diff --git a/migration/19.04/1904.sql b/migration/19.04/1904.sql index e049f4984f552936e5875d83910340f595dcae10..c0e10adb4b4b74f3b6b7971cc1ce1f077fd777ef 100644 --- a/migration/19.04/1904.sql +++ b/migration/19.04/1904.sql @@ -5,7 +5,7 @@ -- -- -- -- -- *************************************************************************-- -UPDATE parameters SET param_value_string = '19.04.6' WHERE id = 'database_version'; +UPDATE parameters SET param_value_string = '19.04.17' WHERE id = 'database_version'; DELETE FROM parameters WHERE id = 'QrCodePrefix'; INSERT INTO parameters (id, description, param_value_int) VALUES ('QrCodePrefix', 'Si activé (1), ajoute "Maarch_" dans le contenu des QrCode générés. (Utilisable avec MaarchCapture >= 1.4)', 0); @@ -23,30 +23,33 @@ ALTER TABLE users ADD COLUMN external_id jsonb DEFAULT '{}'; /* Redirected Baskets */ DO $$ BEGIN IF (SELECT count(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'user_abs') = 1 THEN - DROP TABLE IF EXISTS redirected_baskets; - CREATE TABLE redirected_baskets - ( - id serial NOT NULL, - actual_user_id INTEGER NOT NULL, - owner_user_id INTEGER NOT NULL, - basket_id character varying(255) NOT NULL, - group_id INTEGER NOT NULL, - CONSTRAINT redirected_baskets_pkey PRIMARY KEY (id), - CONSTRAINT redirected_baskets_unique_key UNIQUE (owner_user_id, basket_id, group_id) - ) - WITH (OIDS=FALSE); - - INSERT INTO redirected_baskets (owner_user_id, actual_user_id, basket_id, group_id) SELECT users.id, us.id, user_abs.basket_id, usergroups.id FROM usergroups, usergroup_content, user_abs, groupbasket, users, users us - where usergroup_content.group_id = usergroups.group_id + DROP TABLE IF EXISTS redirected_baskets; + CREATE TABLE redirected_baskets + ( + id serial NOT NULL, + actual_user_id INTEGER NOT NULL, + owner_user_id INTEGER NOT NULL, + basket_id character varying(255) NOT NULL, + group_id INTEGER NOT NULL, + CONSTRAINT redirected_baskets_pkey PRIMARY KEY (id), + CONSTRAINT redirected_baskets_unique_key UNIQUE (owner_user_id, basket_id, group_id) + ) + WITH (OIDS=FALSE); + + INSERT INTO redirected_baskets (owner_user_id, actual_user_id, basket_id, group_id) + SELECT users.id, us.id, user_abs.basket_id, usergroups.id FROM usergroups, usergroup_content, user_abs, groupbasket, users, users us + WHERE usergroup_content.group_id = usergroups.group_id and usergroup_content.user_id = user_abs.basket_owner and users.user_id = user_abs.basket_owner and us.user_id = user_abs.new_user and groupbasket.group_id = usergroup_content.group_id - and groupbasket.basket_id = user_abs.basket_id; + and groupbasket.basket_id = user_abs.basket_id + ON CONFLICT DO NOTHING; - DROP TABLE IF EXISTS user_abs; + DROP TABLE IF EXISTS user_abs; END IF; END$$; + UPDATE history SET table_name = 'redirected_baskets' WHERE table_name = 'user_abs'; /* CONFIGURATIONS */