'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.addColumn( { tableName: 'falukant_user', schema: 'falukant_data' }, 'last_political_daily_salary_on', { type: Sequelize.DATEONLY, allowNull: true } ); await queryInterface.sequelize.query(` DO $$ BEGIN IF EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = 'falukant_predefine' AND table_name = 'political_office_benefit' AND column_name = 'political_office_id' ) AND NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = 'falukant_predefine' AND table_name = 'political_office_benefit' AND column_name = 'office_type_id' ) THEN ALTER TABLE falukant_predefine.political_office_benefit RENAME COLUMN political_office_id TO office_type_id; ELSIF EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = 'falukant_predefine' AND table_name = 'political_office_benefit' AND column_name = 'political_office_id' ) AND EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = 'falukant_predefine' AND table_name = 'political_office_benefit' AND column_name = 'office_type_id' ) THEN UPDATE falukant_predefine.political_office_benefit SET office_type_id = COALESCE(office_type_id, political_office_id); ALTER TABLE falukant_predefine.political_office_benefit DROP COLUMN political_office_id; END IF; END $$; `); }, down: async (queryInterface, Sequelize) => { await queryInterface.removeColumn( { tableName: 'falukant_user', schema: 'falukant_data' }, 'last_political_daily_salary_on' ); await queryInterface.sequelize.query(` DO $$ BEGIN IF EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = 'falukant_predefine' AND table_name = 'political_office_benefit' AND column_name = 'office_type_id' ) AND NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = 'falukant_predefine' AND table_name = 'political_office_benefit' AND column_name = 'political_office_id' ) THEN ALTER TABLE falukant_predefine.political_office_benefit RENAME COLUMN office_type_id TO political_office_id; END IF; END $$; `); } };