diff --git a/database/migrations/0037-contributions_table.ts b/database/migrations/0037-contributions_table.ts new file mode 100644 index 000000000..983593f51 --- /dev/null +++ b/database/migrations/0037-contributions_table.ts @@ -0,0 +1,53 @@ +/* MIGRATION to rename ADMIN_PENDING_CREATION table and add columns + */ + +/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +/* eslint-disable @typescript-eslint/no-explicit-any */ + +export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn('RENAME TABLE `admin_pending_creations` TO `contributions`;') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `userId` `user_id` int(10);') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `created` `contribution_date` datetime;') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `date` `created_at` datetime;') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `moderator` `moderator_id` int(10);') + + await queryFn( + 'ALTER TABLE `contributions` ADD COLUMN `contribution_link_id` int(10) unsigned DEFAULT NULL AFTER `moderator_id`;', + ) + + await queryFn( + 'ALTER TABLE `contributions` ADD COLUMN `confirmed_by` int(10) unsigned DEFAULT NULL AFTER `contribution_link_id`;', + ) + + await queryFn( + 'ALTER TABLE `contributions` ADD COLUMN `confirmed_at` datetime DEFAULT NULL AFTER `confirmed_by`;', + ) + + await queryFn( + 'ALTER TABLE `contributions` ADD COLUMN `deleted_at` datetime DEFAULT NULL AFTER `confirmed_at`;', + ) +} + +export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn('ALTER TABLE `contributions` DROP COLUMN IF EXISTS `deleted_at`;') + + await queryFn('ALTER TABLE `contributions` DROP COLUMN IF EXISTS `confirmed_at`;') + + await queryFn('ALTER TABLE `contributions` DROP COLUMN IF EXISTS `confirmed_by`;') + + await queryFn('ALTER TABLE `contributions` DROP COLUMN IF EXISTS `contribution_link_id`;') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `moderator_id` `moderator` int(10);') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `created_at` `date` datetime;') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `contribution_date` `created` datetime;') + + await queryFn('ALTER TABLE `contributions` CHANGE COLUMN `user_id` `userId` int(10);') + + await queryFn('RENAME TABLE `contributions` TO `admin_pending_creations`;') +}