]> git.agnieray.net Git - galette.git/blob - galette/install/scripts/sql/upgrade-to-1.10-pgsql.sql
Add scheduled payments feature
[galette.git] / galette / install / scripts / sql / upgrade-to-1.10-pgsql.sql
1 -- Add amount to payment types
2 ALTER TABLE galette_types_cotisation ADD amount decimal(15,2) NULL DEFAULT NULL;
3 -- Add region to members
4 ALTER TABLE galette_adherents ADD region_adh character varying(200) DEFAULT '' NOT NULL;
5 -- Add payment type to transactions
6 ALTER TABLE galette_transactions ADD type_paiement_trans integer NULL DEFAULT NULL;
7 ALTER TABLE galette_transactions ADD CONSTRAINT type_paiement_trans_fkey
8 FOREIGN KEY (type_paiement_trans) REFERENCES galette_paymenttypes(type_id);
9 -- Add field_min_size to galette_field_types
10 ALTER TABLE galette_field_types ADD field_min_size integer NULL DEFAULT NULL;
11 -- Add display properties to core fields
12 ALTER TABLE galette_fields_config ADD width_in_forms integer DEFAULT '1' NOT NULL;
13 -- Add display properties to dynamic fields
14 ALTER TABLE galette_field_types ADD field_width_in_forms integer DEFAULT '1' NOT NULL;
15 ALTER TABLE galette_field_types ADD field_information_above boolean DEFAULT FALSE;
16
17 -- change dynamic fields permissions
18 ALTER TABLE galette_field_types ALTER COLUMN field_perm SET DEFAULT 1;
19
20 -- sequence for documents
21 DROP SEQUENCE IF EXISTS galette_documents_id_seq;
22 CREATE SEQUENCE galette_documents_id_seq
23 START 1
24 INCREMENT 1
25 MAXVALUE 2147483647
26 MINVALUE 1
27 CACHE 1;
28
29 -- table for documents
30 DROP TABLE IF EXISTS galette_documents CASCADE;
31 CREATE TABLE galette_documents (
32 id_document integer DEFAULT nextval('galette_documents_id_seq'::text) NOT NULL,
33 type character varying(250) NOT NULL,
34 visible integer NOT NULL,
35 filename character varying(255) DEFAULT NULL,
36 comment text,
37 creation_date timestamp NOT NULL,
38 PRIMARY KEY (id_document)
39 );
40 -- add index on table to look for type
41 CREATE INDEX galette_documents_idx ON galette_documents (type);
42
43 -- change fields types and default values
44 ALTER TABLE galette_cotisations ALTER COLUMN montant_cotis TYPE decimal(15,2);
45 ALTER TABLE galette_cotisations ALTER COLUMN montant_cotis DROP DEFAULT;
46 ALTER TABLE galette_cotisations ALTER COLUMN montant_cotis SET NOT NULL;
47 ALTER TABLE galette_transactions ALTER COLUMN trans_amount TYPE decimal(15,2);
48 ALTER TABLE galette_transactions ALTER COLUMN trans_amount DROP DEFAULT;
49 ALTER TABLE galette_transactions ALTER COLUMN trans_amount SET NOT NULL;
50
51 -- sequence for payments schedules
52 DROP SEQUENCE IF EXISTS galette_payments_schedules_id_seq;
53 CREATE SEQUENCE galette_payments_schedules_id_seq
54 START 1
55 INCREMENT 1
56 MAXVALUE 2147483647
57 MINVALUE 1
58 CACHE 1;
59
60 -- table for payments schedules
61 DROP TABLE IF EXISTS galette_payments_schedules CASCADE;
62 CREATE TABLE galette_payments_schedules (
63 id_schedule integer DEFAULT nextval('galette_payments_schedules_id_seq'::text) NOT NULL,
64 id_cotis integer REFERENCES galette_cotisations (id_cotis) ON DELETE CASCADE ON UPDATE CASCADE,
65 id_paymenttype integer REFERENCES galette_paymenttypes (type_id) ON DELETE RESTRICT ON UPDATE CASCADE,
66 creation_date date NOT NULL,
67 scheduled_date date NOT NULL,
68 amount decimal(15,2) NOT NULL,
69 paid boolean DEFAULT FALSE,
70 comment text,
71 PRIMARY KEY (id_schedule)
72 );
73 -- change fields types and default values
74 ALTER TABLE galette_cotisations ALTER COLUMN montant_cotis TYPE decimal(15,2);
75 ALTER TABLE galette_cotisations ALTER COLUMN montant_cotis DROP DEFAULT;
76 ALTER TABLE galette_cotisations ALTER COLUMN montant_cotis SET NOT NULL;
77 ALTER TABLE galette_transactions ALTER COLUMN trans_amount TYPE decimal(15,2);
78 ALTER TABLE galette_transactions ALTER COLUMN trans_amount DROP DEFAULT;
79 ALTER TABLE galette_transactions ALTER COLUMN trans_amount SET NOT NULL;