From 4e9973681a8e21b9bed20795487873c4df3a89fa Mon Sep 17 00:00:00 2001 From: c9s Date: Sun, 14 Mar 2021 10:58:26 +0800 Subject: [PATCH] add migration files --- .../20210301140656_add_withdraws_table.sql | 28 ++++++++++++ .../20210307201830_add_deposits_table.sql | 26 +++++++++++ .../20210301140656_add_withdraws_table.sql | 36 +++++++++++++++ .../20210307201830_add_deposits_table.sql | 31 +++++++++++++ .../20210301140656_add_withdraws_table.go | 34 ++++++++++++++ .../20210307201830_add_deposits_table.go | 34 ++++++++++++++ .../20210301140656_add_withdraws_table.go | 44 +++++++++++++++++++ .../20210307201830_add_deposits_table.go | 44 +++++++++++++++++++ 8 files changed, 277 insertions(+) create mode 100644 migrations/mysql/20210301140656_add_withdraws_table.sql create mode 100644 migrations/mysql/20210307201830_add_deposits_table.sql create mode 100644 migrations/sqlite3/20210301140656_add_withdraws_table.sql create mode 100644 migrations/sqlite3/20210307201830_add_deposits_table.sql create mode 100644 pkg/migrations/mysql/20210301140656_add_withdraws_table.go create mode 100644 pkg/migrations/mysql/20210307201830_add_deposits_table.go create mode 100644 pkg/migrations/sqlite3/20210301140656_add_withdraws_table.go create mode 100644 pkg/migrations/sqlite3/20210307201830_add_deposits_table.go diff --git a/migrations/mysql/20210301140656_add_withdraws_table.sql b/migrations/mysql/20210301140656_add_withdraws_table.sql new file mode 100644 index 000000000..b86d45ef6 --- /dev/null +++ b/migrations/mysql/20210301140656_add_withdraws_table.sql @@ -0,0 +1,28 @@ +-- +up +-- +begin +CREATE TABLE `withdraws` +( + `gid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, + `exchange` VARCHAR(24) NOT NULL DEFAULT '', + + -- asset is the asset name (currency) + `asset` VARCHAR(10) NOT NULL, + + `address` VARCHAR(64) NOT NULL, + `network` VARCHAR(32) NOT NULL DEFAULT '', + + `amount` DECIMAL(16, 8) NOT NULL, + `txn_id` VARCHAR(64) NOT NULL, + `txn_fee` DECIMAL(16, 8) NOT NULL DEFAULT 0, + `txn_fee_currency` VARCHAR(32) NOT NULL DEFAULT '', + `time` DATETIME(3) NOT NULL, + + PRIMARY KEY (`gid`), + UNIQUE KEY `txn_id` (`exchange`, `txn_id`) +); +-- +end + +-- +down +-- +begin +DROP TABLE IF EXISTS `withdraws`; +-- +end diff --git a/migrations/mysql/20210307201830_add_deposits_table.sql b/migrations/mysql/20210307201830_add_deposits_table.sql new file mode 100644 index 000000000..bf9b7e6af --- /dev/null +++ b/migrations/mysql/20210307201830_add_deposits_table.sql @@ -0,0 +1,26 @@ +-- +up +-- +begin +CREATE TABLE `deposits` +( + `gid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, + `exchange` VARCHAR(24) NOT NULL, + + -- asset is the asset name (currency) + `asset` VARCHAR(10) NOT NULL, + + `address` VARCHAR(64) NOT NULL DEFAULT '', + `amount` DECIMAL(16, 8) NOT NULL, + `txn_id` VARCHAR(64) NOT NULL, + `time` DATETIME(3) NOT NULL, + + PRIMARY KEY (`gid`), + UNIQUE KEY `txn_id` (`exchange`, `txn_id`) +); +-- +end + + +-- +down + +-- +begin +DROP TABLE IF EXISTS `deposits`; +-- +end diff --git a/migrations/sqlite3/20210301140656_add_withdraws_table.sql b/migrations/sqlite3/20210301140656_add_withdraws_table.sql new file mode 100644 index 000000000..aa4649b7a --- /dev/null +++ b/migrations/sqlite3/20210301140656_add_withdraws_table.sql @@ -0,0 +1,36 @@ +-- +up +-- +begin +CREATE TABLE `withdraws` +( + `gid` INTEGER PRIMARY KEY AUTOINCREMENT, + `exchange` VARCHAR(24) NOT NULL DEFAULT '', + + -- asset is the asset name (currency) + `asset` VARCHAR(10) NOT NULL, + + `address` VARCHAR(64) NOT NULL, + `network` VARCHAR(32) NOT NULL DEFAULT '', + `amount` DECIMAL(16, 8) NOT NULL, + + `txn_id` VARCHAR(64) NOT NULL, + `txn_fee` DECIMAL(16, 8) NOT NULL DEFAULT 0, + `txn_fee_currency` VARCHAR(32) NOT NULL DEFAULT '', + `time` DATETIME(3) NOT NULL +); +-- +end + +-- +begin +CREATE UNIQUE INDEX `withdraws_txn_id` ON `withdraws` (`exchange`, `txn_id`); +-- +end + + +-- +down + +-- +begin +DROP INDEX IF EXISTS `withdraws_txn_id`; +-- +end + +-- +begin +DROP TABLE IF EXISTS `withdraws`; +-- +end + diff --git a/migrations/sqlite3/20210307201830_add_deposits_table.sql b/migrations/sqlite3/20210307201830_add_deposits_table.sql new file mode 100644 index 000000000..012e1960d --- /dev/null +++ b/migrations/sqlite3/20210307201830_add_deposits_table.sql @@ -0,0 +1,31 @@ +-- +up +-- +begin +CREATE TABLE `deposits` +( + `gid` INTEGER PRIMARY KEY AUTOINCREMENT, + `exchange` VARCHAR(24) NOT NULL, + + -- asset is the asset name (currency) + `asset` VARCHAR(10) NOT NULL, + + `address` VARCHAR(64) NOT NULL DEFAULT '', + `amount` DECIMAL(16, 8) NOT NULL, + `txn_id` VARCHAR(64) NOT NULL, + `time` DATETIME(3) NOT NULL +); +-- +end +-- +begin +CREATE UNIQUE INDEX `deposits_txn_id` ON `deposits` (`exchange`, `txn_id`); +-- +end + + +-- +down + +-- +begin +DROP INDEX IF EXISTS `deposits_txn_id`; +-- +end + +-- +begin +DROP TABLE IF EXISTS `deposits`; +-- +end + diff --git a/pkg/migrations/mysql/20210301140656_add_withdraws_table.go b/pkg/migrations/mysql/20210301140656_add_withdraws_table.go new file mode 100644 index 000000000..2c8030d3d --- /dev/null +++ b/pkg/migrations/mysql/20210301140656_add_withdraws_table.go @@ -0,0 +1,34 @@ +package mysql + +import ( + "context" + + "github.com/c9s/rockhopper" +) + +func init() { + AddMigration(upAddWithdrawsTable, downAddWithdrawsTable) + +} + +func upAddWithdrawsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is applied. + + _, err = tx.ExecContext(ctx, "CREATE TABLE `withdraws`\n(\n `gid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,\n `exchange` VARCHAR(24) NOT NULL DEFAULT '',\n -- asset is the asset name (currency)\n `asset` VARCHAR(10) NOT NULL,\n `address` VARCHAR(64) NOT NULL,\n `network` VARCHAR(32) NOT NULL DEFAULT '',\n `amount` DECIMAL(16, 8) NOT NULL,\n `txn_id` VARCHAR(64) NOT NULL,\n `txn_fee` DECIMAL(16, 8) NOT NULL DEFAULT 0,\n `txn_fee_currency` VARCHAR(32) NOT NULL DEFAULT '',\n `time` DATETIME(3) NOT NULL,\n PRIMARY KEY (`gid`),\n UNIQUE KEY `txn_id` (`exchange`, `txn_id`)\n);") + if err != nil { + return err + } + + return err +} + +func downAddWithdrawsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is rolled back. + + _, err = tx.ExecContext(ctx, "DROP TABLE IF EXISTS `withdraws`;") + if err != nil { + return err + } + + return err +} diff --git a/pkg/migrations/mysql/20210307201830_add_deposits_table.go b/pkg/migrations/mysql/20210307201830_add_deposits_table.go new file mode 100644 index 000000000..2ab5a164a --- /dev/null +++ b/pkg/migrations/mysql/20210307201830_add_deposits_table.go @@ -0,0 +1,34 @@ +package mysql + +import ( + "context" + + "github.com/c9s/rockhopper" +) + +func init() { + AddMigration(upAddDepositsTable, downAddDepositsTable) + +} + +func upAddDepositsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is applied. + + _, err = tx.ExecContext(ctx, "CREATE TABLE `deposits`\n(\n `gid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,\n `exchange` VARCHAR(24) NOT NULL,\n -- asset is the asset name (currency)\n `asset` VARCHAR(10) NOT NULL,\n `address` VARCHAR(64) NOT NULL DEFAULT '',\n `amount` DECIMAL(16, 8) NOT NULL,\n `txn_id` VARCHAR(64) NOT NULL,\n `time` DATETIME(3) NOT NULL,\n PRIMARY KEY (`gid`),\n UNIQUE KEY `txn_id` (`exchange`, `txn_id`)\n);") + if err != nil { + return err + } + + return err +} + +func downAddDepositsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is rolled back. + + _, err = tx.ExecContext(ctx, "DROP TABLE IF EXISTS `deposits`;") + if err != nil { + return err + } + + return err +} diff --git a/pkg/migrations/sqlite3/20210301140656_add_withdraws_table.go b/pkg/migrations/sqlite3/20210301140656_add_withdraws_table.go new file mode 100644 index 000000000..722a26d21 --- /dev/null +++ b/pkg/migrations/sqlite3/20210301140656_add_withdraws_table.go @@ -0,0 +1,44 @@ +package sqlite3 + +import ( + "context" + + "github.com/c9s/rockhopper" +) + +func init() { + AddMigration(upAddWithdrawsTable, downAddWithdrawsTable) + +} + +func upAddWithdrawsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is applied. + + _, err = tx.ExecContext(ctx, "CREATE TABLE `withdraws`\n(\n `gid` INTEGER PRIMARY KEY AUTOINCREMENT,\n `exchange` VARCHAR(24) NOT NULL DEFAULT '',\n -- asset is the asset name (currency)\n `asset` VARCHAR(10) NOT NULL,\n `address` VARCHAR(64) NOT NULL,\n `network` VARCHAR(32) NOT NULL DEFAULT '',\n `amount` DECIMAL(16, 8) NOT NULL,\n `txn_id` VARCHAR(64) NOT NULL,\n `txn_fee` DECIMAL(16, 8) NOT NULL DEFAULT 0,\n `txn_fee_currency` VARCHAR(32) NOT NULL DEFAULT '',\n `time` DATETIME(3) NOT NULL\n);") + if err != nil { + return err + } + + _, err = tx.ExecContext(ctx, "CREATE UNIQUE INDEX `withdraws_txn_id` ON `withdraws` (`exchange`, `txn_id`);") + if err != nil { + return err + } + + return err +} + +func downAddWithdrawsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is rolled back. + + _, err = tx.ExecContext(ctx, "DROP INDEX IF EXISTS `withdraws_txn_id`;") + if err != nil { + return err + } + + _, err = tx.ExecContext(ctx, "DROP TABLE IF EXISTS `withdraws`;") + if err != nil { + return err + } + + return err +} diff --git a/pkg/migrations/sqlite3/20210307201830_add_deposits_table.go b/pkg/migrations/sqlite3/20210307201830_add_deposits_table.go new file mode 100644 index 000000000..350c0f200 --- /dev/null +++ b/pkg/migrations/sqlite3/20210307201830_add_deposits_table.go @@ -0,0 +1,44 @@ +package sqlite3 + +import ( + "context" + + "github.com/c9s/rockhopper" +) + +func init() { + AddMigration(upAddDepositsTable, downAddDepositsTable) + +} + +func upAddDepositsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is applied. + + _, err = tx.ExecContext(ctx, "CREATE TABLE `deposits`\n(\n `gid` INTEGER PRIMARY KEY AUTOINCREMENT,\n `exchange` VARCHAR(24) NOT NULL,\n -- asset is the asset name (currency)\n `asset` VARCHAR(10) NOT NULL,\n `address` VARCHAR(64) NOT NULL DEFAULT '',\n `amount` DECIMAL(16, 8) NOT NULL,\n `txn_id` VARCHAR(64) NOT NULL,\n `time` DATETIME(3) NOT NULL\n);") + if err != nil { + return err + } + + _, err = tx.ExecContext(ctx, "CREATE UNIQUE INDEX `deposits_txn_id` ON `deposits` (`exchange`, `txn_id`);") + if err != nil { + return err + } + + return err +} + +func downAddDepositsTable(ctx context.Context, tx rockhopper.SQLExecutor) (err error) { + // This code is executed when the migration is rolled back. + + _, err = tx.ExecContext(ctx, "DROP INDEX IF EXISTS `deposits_txn_id`;") + if err != nil { + return err + } + + _, err = tx.ExecContext(ctx, "DROP TABLE IF EXISTS `deposits`;") + if err != nil { + return err + } + + return err +}