From 65f76f82ed08d860b3840df1e3a3c66a3770ab1f Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sun, 13 Feb 2022 12:40:37 +0100 Subject: [PATCH] migrate database to accept null on all parseInt fields on elopageBuys --- .../LoginElopageBuys.ts | 4 +-- database/entity/LoginElopageBuys.ts | 2 +- .../0021-elopagebuys_fields_nullable.ts | 25 +++++++++++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 database/migrations/0021-elopagebuys_fields_nullable.ts diff --git a/database/entity/0003-login_server_tables/LoginElopageBuys.ts b/database/entity/0003-login_server_tables/LoginElopageBuys.ts index fc0d6c355..1f94faffe 100644 --- a/database/entity/0003-login_server_tables/LoginElopageBuys.ts +++ b/database/entity/0003-login_server_tables/LoginElopageBuys.ts @@ -5,8 +5,8 @@ export class LoginElopageBuys extends BaseEntity { @PrimaryGeneratedColumn('increment', { unsigned: true }) id: number - @Column({ name: 'elopage_user_id', nullable: false }) - elopageUserId: number + @Column({ type: 'int', width: 11, name: 'elopage_user_id', nullable: true, default: null }) + elopageUserId: number | null @Column({ name: 'affiliate_program_id', nullable: false }) affiliateProgramId: number diff --git a/database/entity/LoginElopageBuys.ts b/database/entity/LoginElopageBuys.ts index 6a1f3230b..cb0d212fa 100644 --- a/database/entity/LoginElopageBuys.ts +++ b/database/entity/LoginElopageBuys.ts @@ -1 +1 @@ -export { LoginElopageBuys } from './0003-login_server_tables/LoginElopageBuys' +export { LoginElopageBuys } from './0021-elopagebuys_fields_nullable/LoginElopageBuys' diff --git a/database/migrations/0021-elopagebuys_fields_nullable.ts b/database/migrations/0021-elopagebuys_fields_nullable.ts new file mode 100644 index 000000000..dabe9d1e4 --- /dev/null +++ b/database/migrations/0021-elopagebuys_fields_nullable.ts @@ -0,0 +1,25 @@ +/* MIGRATION TO ALLOW NULL FIELDS ON ELOPAGEBUYS + * + * This migration allows null on `affiliate_program_id`, + * `publisher_id`, `order_id`. `product_id`. + */ + +export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + 'ALTER TABLE `login_elopage_buys` MODIFY COLUMN `affiliate_program_id` int(11) DEFAULT NULL;', + ) + await queryFn( + 'ALTER TABLE `login_elopage_buys` MODIFY COLUMN `publisher_id` int(11) DEFAULT NULL;', + ) + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `order_id` int(11) DEFAULT NULL;') + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `product_id` int(11) DEFAULT NULL;') +} + +export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + 'ALTER TABLE `login_elopage_buys` MODIFY COLUMN `affiliate_program_id` int(11) NOT NULL;', + ) + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `publisher_id` int(11) NOT NULL;') + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `order_id` int(11) NOT NULL;') + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `product_id` int(11) NOT NULL;') +}