Migration sql changes (#199)

* safe migration script changes

* lamassu migration script fixes
This commit is contained in:
Fabio Cigliano 2018-11-02 00:26:48 +13:00 committed by Josh Harvey
parent 65ce8aee3d
commit 12c834469c
53 changed files with 500 additions and 346 deletions

View file

@ -12,39 +12,38 @@ exports.up = function (next) {
*
* @see {@link http://blog.yo1.dog/updating-enum-values-in-postgresql-the-safe-and-easy-way/}
*/
`create type compliance_type as enum
('authorized', 'sms', 'id_card_data', 'id_card_photo', 'sanctions_check', 'front_facing_cam', 'hard_limit')`,
'alter table compliance_authorizations alter column compliance_type set data type compliance_type using compliance_type::text::compliance_type',
'drop type compliance_types',
db.defineEnum('compliance_type', "'authorized', 'sms', 'id_card_data', 'id_card_photo', 'sanctions_check', 'front_facing_cam', 'hard_limit'"),
db.alterColumn('compliance_authorizations', 'compliance_type', 'set data type compliance_type using compliance_type::text::compliance_type'),
db.dropEnum('compliance_types'),
"create type verification_type as enum ('verified', 'blocked', 'automatic')",
db.defineEnum('verification_type', "'verified', 'blocked', 'automatic'"),
'alter table customers drop column manually_verified ',
"alter table customers add column sms_override verification_type not null default 'automatic'",
'alter table customers add column sms_override_by text references user_tokens (token)',
'alter table customers add column sms_override_at timestamptz',
"alter table customers add column id_card_data_override verification_type not null default 'automatic'",
'alter table customers add column id_card_data_override_by text references user_tokens (token)',
'alter table customers add column id_card_data_override_at timestamptz',
"alter table customers add column id_card_photo_override verification_type not null default 'automatic'",
'alter table customers add column id_card_photo_override_by text references user_tokens (token)',
'alter table customers add column id_card_photo_override_at timestamptz',
"alter table customers add column front_facing_cam_override verification_type not null default 'automatic'",
'alter table customers add column front_facing_cam_override_by text references user_tokens (token)',
'alter table customers add column front_facing_cam_override_at timestamptz',
"alter table customers add column sanctions_check_override verification_type not null default 'automatic'",
'alter table customers add column sanctions_check_override_by text references user_tokens (token)',
'alter table customers add column sanctions_check_override_at timestamptz',
"alter table customers add column authorized_override verification_type not null default 'automatic'",
'alter table customers add column authorized_override_by text references user_tokens (token)',
'alter table customers add column authorized_override_at timestamptz',
'alter table customers add column authorized_at timestamptz',
'alter table customers add column sanctions_check_at timestamptz',
db.dropColumn('customers', 'manually_verified'),
db.addColumn('customers', 'sms_override', 'verification_type not null default \'automatic\''),
db.addColumn('customers', 'sms_override_by', 'text references user_tokens (token)'),
db.addColumn('customers', 'sms_override_at', 'timestamptz'),
db.addColumn('customers', 'id_card_data_override', 'verification_type not null default \'automatic\''),
db.addColumn('customers', 'id_card_data_override_by', 'text references user_tokens (token)'),
db.addColumn('customers', 'id_card_data_override_at', 'timestamptz'),
db.addColumn('customers', 'id_card_photo_override', 'verification_type not null default \'automatic\''),
db.addColumn('customers', 'id_card_photo_override_by', 'text references user_tokens (token)'),
db.addColumn('customers', 'id_card_photo_override_at', 'timestamptz'),
db.addColumn('customers', 'front_facing_cam_override', 'verification_type not null default \'automatic\''),
db.addColumn('customers', 'front_facing_cam_override_by', 'text references user_tokens (token)'),
db.addColumn('customers', 'front_facing_cam_override_at', 'timestamptz'),
db.addColumn('customers', 'sanctions_check_override', 'verification_type not null default \'automatic\''),
db.addColumn('customers', 'sanctions_check_override_by', 'text references user_tokens (token)'),
db.addColumn('customers', 'sanctions_check_override_at', 'timestamptz'),
db.addColumn('customers', 'authorized_override', 'verification_type not null default \'automatic\''),
db.addColumn('customers', 'authorized_override_by', 'text references user_tokens (token)'),
db.addColumn('customers', 'authorized_override_at', 'timestamptz'),
db.addColumn('customers', 'authorized_at', 'timestamptz'),
db.addColumn('customers', 'sanctions_check_at', 'timestamptz'),
'alter table compliance_authorizations rename to compliance_overrides',
'alter table compliance_overrides add column verification verification_type not null',
'alter table compliance_overrides rename column authorized_at to override_at',
'alter table compliance_overrides rename column authorized_by to override_by'
db.renameColumn('compliance_authorizations', 'name', 'compliance_overrides'),
db.addColumn('compliance_overrides', 'verification', 'verification_type not null'),
db.renameColumn('compliance_overrides', 'authorized_at', 'override_at'),
db.renameColumn('compliance_overrides', 'authorized_by', 'override_by')
]
db.multi(sql, next)