feat(deploy): update deployment workflow and migration paths
Some checks failed
Deploy to production / deploy (push) Has been cancelled
Some checks failed
Deploy to production / deploy (push) Has been cancelled
- Modified the deployment workflow to include new migration paths for the backend, ensuring that migrations are correctly referenced in the deployment process. - Updated the `db:migrate` script in package.json to point to the `migrations-active` directory, enhancing clarity and organization of migration files. - Adjusted the deployment conditions to account for changes in migration file locations, improving the accuracy of change detection during deployments. - Removed obsolete migration files to streamline the migration process and prevent confusion.
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
'use strict';
|
||||
|
||||
/** @param {import('sequelize').QueryInterface} queryInterface */
|
||||
module.exports = {
|
||||
async up(queryInterface) {
|
||||
await queryInterface.sequelize.query(`
|
||||
CREATE TABLE IF NOT EXISTS falukant_data.political_benefit_last_tick (
|
||||
id serial PRIMARY KEY,
|
||||
character_id integer NOT NULL
|
||||
REFERENCES falukant_data."character"(id) ON DELETE CASCADE,
|
||||
political_office_benefit_id integer NOT NULL
|
||||
REFERENCES falukant_predefine.political_office_benefit(id) ON DELETE CASCADE,
|
||||
last_tick_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
ticks_count integer NOT NULL DEFAULT 0,
|
||||
CONSTRAINT political_benefit_last_tick_unique UNIQUE (character_id, political_office_benefit_id)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS political_benefit_last_tick_character_idx
|
||||
ON falukant_data.political_benefit_last_tick (character_id);
|
||||
`);
|
||||
|
||||
await queryInterface.sequelize.query(`
|
||||
CREATE TABLE IF NOT EXISTS falukant_data.region_tax_history (
|
||||
id serial PRIMARY KEY,
|
||||
region_id integer NOT NULL REFERENCES falukant_data.region(id) ON DELETE CASCADE,
|
||||
old_tax_percent numeric(12,4) NOT NULL,
|
||||
new_tax_percent numeric(12,4) NOT NULL,
|
||||
setter_character_id integer NOT NULL REFERENCES falukant_data."character"(id) ON DELETE CASCADE,
|
||||
political_office_id integer NULL REFERENCES falukant_data.political_office(id) ON DELETE SET NULL,
|
||||
created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS region_tax_history_region_idx
|
||||
ON falukant_data.region_tax_history (region_id, created_at DESC);
|
||||
`);
|
||||
|
||||
await queryInterface.sequelize.query(`
|
||||
CREATE TABLE IF NOT EXISTS falukant_data.political_appointment (
|
||||
id serial PRIMARY KEY,
|
||||
appointer_character_id integer NOT NULL REFERENCES falukant_data."character"(id) ON DELETE CASCADE,
|
||||
target_character_id integer NOT NULL REFERENCES falukant_data."character"(id) ON DELETE CASCADE,
|
||||
office_type_id integer NOT NULL REFERENCES falukant_type.political_office_type(id) ON DELETE CASCADE,
|
||||
region_id integer NOT NULL REFERENCES falukant_data.region(id) ON DELETE CASCADE,
|
||||
status varchar(32) NOT NULL DEFAULT 'completed',
|
||||
created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
expires_at timestamptz NULL,
|
||||
completed_political_office_id integer NULL REFERENCES falukant_data.political_office(id) ON DELETE SET NULL
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS political_appointment_appointer_idx
|
||||
ON falukant_data.political_appointment (appointer_character_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS political_appointment_target_idx
|
||||
ON falukant_data.political_appointment (target_character_id);
|
||||
`);
|
||||
},
|
||||
|
||||
async down(queryInterface) {
|
||||
await queryInterface.sequelize.query(`
|
||||
DROP TABLE IF EXISTS falukant_data.political_appointment;
|
||||
DROP TABLE IF EXISTS falukant_data.region_tax_history;
|
||||
DROP TABLE IF EXISTS falukant_data.political_benefit_last_tick;
|
||||
`);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user