From 3a5ba17b6e1df82d423f5845d6f667cf1e299bf9 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Tue, 3 May 2022 14:00:54 +0200 Subject: [PATCH 1/5] fix: Up Migrations --- .../0026-combine_transaction_tables2.ts | 4 ++- .../0027-clean_transaction_table.ts | 16 ++++++------ .../0029-clean_transaction_table.ts | 26 +++++++++++-------- .../0035-admin_pending_creations_decimal.ts | 4 ++- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/database/migrations/0026-combine_transaction_tables2.ts b/database/migrations/0026-combine_transaction_tables2.ts index 3abf77354..6896eb27f 100644 --- a/database/migrations/0026-combine_transaction_tables2.ts +++ b/database/migrations/0026-combine_transaction_tables2.ts @@ -28,7 +28,9 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis */ // rename `state_user_id` to `user_id` - await queryFn('ALTER TABLE `state_user_transactions` RENAME COLUMN state_user_id TO user_id;') + await queryFn( + 'ALTER TABLE `state_user_transactions` CHANGE COLUMN state_user_id user_id int(10);', + ) // Create new `amount` column, with a temporary default of null await queryFn( 'ALTER TABLE `state_user_transactions` ADD COLUMN `amount` bigint(20) DEFAULT NULL AFTER `transaction_type_id`;', diff --git a/database/migrations/0027-clean_transaction_table.ts b/database/migrations/0027-clean_transaction_table.ts index b5a0e0e2e..b1e25abd2 100644 --- a/database/migrations/0027-clean_transaction_table.ts +++ b/database/migrations/0027-clean_transaction_table.ts @@ -11,23 +11,23 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { // drop column `transaction_id`, it is not needed - await queryFn('ALTER TABLE `transactions` DROP COLUMN `transaction_id`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `transaction_id`;') // drop column `received`, it is a duplicate of balance_date - await queryFn('ALTER TABLE `transactions` DROP COLUMN `received`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `received`;') // drop column `tx_hash`, it is not needed - await queryFn('ALTER TABLE `transactions` DROP COLUMN `tx_hash`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `tx_hash`;') // drop column `signature`, it is not needed - await queryFn('ALTER TABLE `transactions` DROP COLUMN `signature`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `signature`;') // drop column `pubkey`, it is not needed - await queryFn('ALTER TABLE `transactions` DROP COLUMN `pubkey`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `pubkey`;') // drop column `creation_ident_hash`, it is not needed - await queryFn('ALTER TABLE `transactions` DROP COLUMN `creation_ident_hash`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `creation_ident_hash`;') // rename `transaction_type_id` to `type_id` - await queryFn('ALTER TABLE `transactions` RENAME COLUMN transaction_type_id TO type_id;') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN transaction_type_id type_id int(10);') // rename `linked_state_user_transaction_id` to `linked_transaction_id` await queryFn( - 'ALTER TABLE `transactions` RENAME COLUMN linked_state_user_transaction_id TO linked_transaction_id;', + 'ALTER TABLE `transactions` CHANGE COLUMN linked_state_user_transaction_id linked_transaction_id int(10);', ) } diff --git a/database/migrations/0029-clean_transaction_table.ts b/database/migrations/0029-clean_transaction_table.ts index 0b9e2cc0d..eccec56ea 100644 --- a/database/migrations/0029-clean_transaction_table.ts +++ b/database/migrations/0029-clean_transaction_table.ts @@ -13,35 +13,39 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis // Delete columns // delete column `amount` - await queryFn('ALTER TABLE `transactions` DROP COLUMN `amount`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `amount`;') // delete column `send_sender_final_balance` - await queryFn('ALTER TABLE `transactions` DROP COLUMN `send_sender_final_balance`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `send_sender_final_balance`;') // delete column `balance` - await queryFn('ALTER TABLE `transactions` DROP COLUMN `balance`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `balance`;') // delete column `temp_dec_send_sender_final_balance` - await queryFn('ALTER TABLE `transactions` DROP COLUMN `temp_dec_send_sender_final_balance`;') + await queryFn( + 'ALTER TABLE `transactions` DROP COLUMN IF EXISTS `temp_dec_send_sender_final_balance`;', + ) // delete column `temp_dec_diff_send_sender_final_balance` - await queryFn('ALTER TABLE `transactions` DROP COLUMN `temp_dec_diff_send_sender_final_balance`;') + await queryFn( + 'ALTER TABLE `transactions` DROP COLUMN IF EXISTS `temp_dec_diff_send_sender_final_balance`;', + ) // delete column `temp_dec_old_balance` - await queryFn('ALTER TABLE `transactions` DROP COLUMN `temp_dec_old_balance`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `temp_dec_old_balance`;') // delete column `temp_dec_diff_balance` - await queryFn('ALTER TABLE `transactions` DROP COLUMN `temp_dec_diff_balance`;') + await queryFn('ALTER TABLE `transactions` DROP COLUMN IF EXISTS `temp_dec_diff_balance`;') // Rename columns // rename column `dec_amount` to `amount` - await queryFn('ALTER TABLE `transactions` RENAME COLUMN `dec_amount` to `amount`;') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN `dec_amount` `amount` DECIMAL(40,20);') // rename column `dec_balance` to `balance` - await queryFn('ALTER TABLE `transactions` RENAME COLUMN `dec_balance` to `balance`;') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN `dec_balance` `balance` DECIMAL(40,20);') // rename column `dec_decay` to `decay` - await queryFn('ALTER TABLE `transactions` RENAME COLUMN `dec_decay` to `decay`;') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN `dec_decay` `decay` DECIMAL(40,20);') // Drop tables // drop `state_balances` - await queryFn('DROP TABLE `state_balances`;') + await queryFn('DROP TABLE IF EXISTS `state_balances`;') } export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { diff --git a/database/migrations/0035-admin_pending_creations_decimal.ts b/database/migrations/0035-admin_pending_creations_decimal.ts index d3648f376..60194e8c0 100644 --- a/database/migrations/0035-admin_pending_creations_decimal.ts +++ b/database/migrations/0035-admin_pending_creations_decimal.ts @@ -8,7 +8,9 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { // rename `amount` to `amount_bigint` - await queryFn('ALTER TABLE `admin_pending_creations` RENAME COLUMN `amount` TO `amount_bigint`;') + await queryFn( + 'ALTER TABLE `admin_pending_creations` CHANGE COLUMN `amount` `amount_bigint` bigint(20);', + ) // add `amount` (decimal) await queryFn( 'ALTER TABLE `admin_pending_creations` ADD COLUMN `amount` DECIMAL(40,20) DEFAULT NULL AFTER `amount_bigint`;', From 83b5b37c2bac3ce9a7b360aeb3c2a27b816a7282 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Tue, 3 May 2022 14:15:31 +0200 Subject: [PATCH 2/5] fix 0035 down migration --- database/migrations/0035-admin_pending_creations_decimal.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/database/migrations/0035-admin_pending_creations_decimal.ts b/database/migrations/0035-admin_pending_creations_decimal.ts index 60194e8c0..f76db7c97 100644 --- a/database/migrations/0035-admin_pending_creations_decimal.ts +++ b/database/migrations/0035-admin_pending_creations_decimal.ts @@ -39,6 +39,8 @@ export async function downgrade(queryFn: (query: string, values?: any[]) => Prom await queryFn( 'ALTER TABLE `admin_pending_creations` MODIFY COLUMN `amount_bigint` bigint(20) NOT NULL;', ) - await queryFn('ALTER TABLE `admin_pending_creations` DROP COLUMN `amount`;') - await queryFn('ALTER TABLE `admin_pending_creations` RENAME COLUMN `amount_bigint` TO `amount`;') + await queryFn('ALTER TABLE `admin_pending_creations` DROP COLUMN IF EXISTS `amount`;') + await queryFn( + 'ALTER TABLE `admin_pending_creations` CHANGE COLUMN `amount_bigint` `amount` bigint(20);', + ) } From 208d4dc4d31200ea13070f8b537d4e9a0546854b Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Tue, 3 May 2022 15:51:28 +0200 Subject: [PATCH 3/5] fix 0029 down --- database/migrations/0029-clean_transaction_table.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/database/migrations/0029-clean_transaction_table.ts b/database/migrations/0029-clean_transaction_table.ts index eccec56ea..c47524b8e 100644 --- a/database/migrations/0029-clean_transaction_table.ts +++ b/database/migrations/0029-clean_transaction_table.ts @@ -70,9 +70,9 @@ export async function downgrade(queryFn: (query: string, values?: any[]) => Prom LEFT JOIN transactions ON t.uid = transactions.user_id AND t.date = transactions.balance_date; `) - await queryFn('ALTER TABLE `transactions` RENAME COLUMN `decay` to `dec_decay`;') - await queryFn('ALTER TABLE `transactions` RENAME COLUMN `balance` to `dec_balance`;') - await queryFn('ALTER TABLE `transactions` RENAME COLUMN `amount` to `dec_amount`;') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN `decay` `dec_decay` DECIMAL(40,20);') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN `balance` `dec_balance` DECIMAL(40,20);') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN `amount` `dec_amount` DECIMAL(40,20);') await queryFn( 'ALTER TABLE `transactions` ADD COLUMN `temp_dec_diff_balance` decimal(40,20) DEFAULT NULL AFTER linked_transaction_id;', From 8d4e691f3d7544ae0f56ffc6aefdea1fa07972a8 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 4 May 2022 12:55:38 +0200 Subject: [PATCH 4/5] change rename column to change column --- database/migrations/0026-combine_transaction_tables2.ts | 4 +++- database/migrations/0027-clean_transaction_table.ts | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/database/migrations/0026-combine_transaction_tables2.ts b/database/migrations/0026-combine_transaction_tables2.ts index 6896eb27f..b83c5e267 100644 --- a/database/migrations/0026-combine_transaction_tables2.ts +++ b/database/migrations/0026-combine_transaction_tables2.ts @@ -216,5 +216,7 @@ export async function downgrade(queryFn: (query: string, values?: any[]) => Prom await queryFn('ALTER TABLE `state_user_transactions` DROP COLUMN `memo`;') await queryFn('ALTER TABLE `state_user_transactions` DROP COLUMN `send_sender_final_balance`;') await queryFn('ALTER TABLE `state_user_transactions` DROP COLUMN `amount`;') - await queryFn('ALTER TABLE `state_user_transactions` RENAME COLUMN user_id TO state_user_id;') + await queryFn( + 'ALTER TABLE `state_user_transactions` CHANGE COLUMN user_id state_user_id int(10);', + ) } diff --git a/database/migrations/0027-clean_transaction_table.ts b/database/migrations/0027-clean_transaction_table.ts index b1e25abd2..4a427e693 100644 --- a/database/migrations/0027-clean_transaction_table.ts +++ b/database/migrations/0027-clean_transaction_table.ts @@ -41,9 +41,9 @@ export async function downgrade(queryFn: (query: string, values?: any[]) => Prom // - creation_ident_hash (null) await queryFn( - 'ALTER TABLE `transactions` RENAME COLUMN linked_transaction_id TO linked_state_user_transaction_id;', + 'ALTER TABLE `transactions` CHANGE COLUMN linked_transaction_id linked_state_user_transaction_id int(10);', ) - await queryFn('ALTER TABLE `transactions` RENAME COLUMN type_id TO transaction_type_id;') + await queryFn('ALTER TABLE `transactions` CHANGE COLUMN type_id transaction_type_id int(10);') await queryFn( 'ALTER TABLE `transactions` ADD COLUMN `creation_ident_hash` binary(32) DEFAULT NULL AFTER `linked_state_user_transaction_id`;', ) From 9d1a35cf94cef619a9e82a4dce114b577839cf5c Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 4 May 2022 13:10:53 +0200 Subject: [PATCH 5/5] run dev_reset on stage1 again --- deployment/bare_metal/start.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index b608952c0..95b89241f 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -105,8 +105,7 @@ yarn install yarn build if [ "$DEPLOY_SEED_DATA" = "true" ]; then yarn dev_up -# As dev_reset is not running properly (0019-replace_login_user_id_with_state_user_id) -# yarn dev_reset + yarn dev_reset else yarn up fi