From e06be8b5800c3f3ad62ad45b517a030e5626dfc6 Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sun, 19 Jan 2025 11:04:57 +0000 Subject: [PATCH 1/7] postgres --- .../schema_builder/usecases/postgres/alter.nim | 6 ++++++ .../schema_builder/usecases/postgres/create.nim | 3 +++ .../usecases/postgres/create_query_def.nim | 10 ++++------ .../schema_builder/usecases/postgres/drop.nim | 2 ++ tests/postgres/test_schema.nim | 2 ++ 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/allographer/schema_builder/usecases/postgres/alter.nim b/src/allographer/schema_builder/usecases/postgres/alter.nim index 1b7141d9..9a75442e 100644 --- a/src/allographer/schema_builder/usecases/postgres/alter.nim +++ b/src/allographer/schema_builder/usecases/postgres/alter.nim @@ -5,6 +5,12 @@ import ../../models/column import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/postgres/create_migration_table +import ../../queries/postgres/add_column +import ../../queries/postgres/change_column +import ../../queries/postgres/rename_column +import ../../queries/postgres/drop_column +import ../../queries/postgres/rename_table proc alter*(rdb:PostgresConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/postgres/create.nim b/src/allographer/schema_builder/usecases/postgres/create.nim index c59321b2..b1073445 100644 --- a/src/allographer/schema_builder/usecases/postgres/create.nim +++ b/src/allographer/schema_builder/usecases/postgres/create.nim @@ -4,6 +4,9 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/postgres/create_migration_table +import ../../queries/postgres/reset_table +import ../../queries/postgres/create_table proc create*(rdb:PostgresConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/postgres/create_query_def.nim b/src/allographer/schema_builder/usecases/postgres/create_query_def.nim index b976c093..40f9e987 100644 --- a/src/allographer/schema_builder/usecases/postgres/create_query_def.nim +++ b/src/allographer/schema_builder/usecases/postgres/create_query_def.nim @@ -1,13 +1,11 @@ import ../../../query_builder/models/postgres/postgres_types -import ../../queries/schema_interface import ../../queries/postgres/postgres_query_type -import ../../queries/postgres/postgres_query_impl import ../../models/table import ../../models/column -proc createSchema*(rdb:PostgresConnections, table:Table):ISchema = - return PostgresSchema.new(rdb, table).toInterface() +proc createSchema*(rdb:PostgresConnections, table:Table):PostgresSchema = + return PostgresSchema.new(rdb, table) -proc createSchema*(rdb:PostgresConnections, table:Table, column:Column):ISchema = - return PostgresSchema.new(rdb, table, column).toInterface() +proc createSchema*(rdb:PostgresConnections, table:Table, column:Column):PostgresSchema = + return PostgresSchema.new(rdb, table, column) diff --git a/src/allographer/schema_builder/usecases/postgres/drop.nim b/src/allographer/schema_builder/usecases/postgres/drop.nim index 6b7d8b07..4f43dbe9 100644 --- a/src/allographer/schema_builder/usecases/postgres/drop.nim +++ b/src/allographer/schema_builder/usecases/postgres/drop.nim @@ -4,6 +4,8 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/postgres/create_migration_table +import ../../queries/postgres/drop_table proc drop*(rdb:PostgresConnections, tables:varargs[Table]) = diff --git a/tests/postgres/test_schema.nim b/tests/postgres/test_schema.nim index b0ff3102..03041be5 100644 --- a/tests/postgres/test_schema.nim +++ b/tests/postgres/test_schema.nim @@ -2,6 +2,8 @@ discard """ cmd: "nim c -d:reset $file" """ +# nim c -d:reset -r tests/postgres/test_schema.nim + import std/unittest import std/asyncdispatch import std/json From 490b2560f67badc8e9e2522ba035615603ff2809 Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sun, 19 Jan 2025 11:10:55 +0000 Subject: [PATCH 2/7] sqlite --- .../schema_builder/usecases/sqlite/alter.nim | 6 ++++++ .../schema_builder/usecases/sqlite/create.nim | 3 +++ .../usecases/sqlite/create_query_def.nim | 10 ++++------ .../schema_builder/usecases/sqlite/drop.nim | 2 ++ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/allographer/schema_builder/usecases/sqlite/alter.nim b/src/allographer/schema_builder/usecases/sqlite/alter.nim index af837cfe..94010d07 100644 --- a/src/allographer/schema_builder/usecases/sqlite/alter.nim +++ b/src/allographer/schema_builder/usecases/sqlite/alter.nim @@ -5,6 +5,12 @@ import ../../models/column import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/sqlite/create_migration_table +import ../../queries/sqlite/add_column +import ../../queries/sqlite/change_column +import ../../queries/sqlite/rename_column +import ../../queries/sqlite/drop_column +import ../../queries/sqlite/rename_table proc alter*(rdb:SqliteConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/sqlite/create.nim b/src/allographer/schema_builder/usecases/sqlite/create.nim index d440f6cf..34bc6336 100644 --- a/src/allographer/schema_builder/usecases/sqlite/create.nim +++ b/src/allographer/schema_builder/usecases/sqlite/create.nim @@ -4,6 +4,9 @@ import ../../../query_builder/models/sqlite/sqlite_types import ../../models/table import ../sub/migration_table_def import ./create_query_def +import ../../queries/sqlite/create_migration_table +import ../../queries/sqlite/reset_table +import ../../queries/sqlite/create_table proc create*(rdb:SqliteConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/sqlite/create_query_def.nim b/src/allographer/schema_builder/usecases/sqlite/create_query_def.nim index 975bc297..11c18251 100644 --- a/src/allographer/schema_builder/usecases/sqlite/create_query_def.nim +++ b/src/allographer/schema_builder/usecases/sqlite/create_query_def.nim @@ -1,13 +1,11 @@ -import ../../queries/schema_interface import ../../../query_builder/models/sqlite/sqlite_types import ../../queries/sqlite/sqlite_query_type -import ../../queries/sqlite/sqlite_query_impl import ../../models/table import ../../models/column -proc createSchema*(rdb:SqliteConnections, table:Table):ISchema = - return SqliteSchema.new(rdb, table).toInterface() +proc createSchema*(rdb:SqliteConnections, table:Table):SqliteSchema = + return SqliteSchema.new(rdb, table) -proc createSchema*(rdb:SqliteConnections, table:Table, column:Column):ISchema = - return SqliteSchema.new(rdb, table, column).toInterface() +proc createSchema*(rdb:SqliteConnections, table:Table, column:Column):SqliteSchema = + return SqliteSchema.new(rdb, table, column) diff --git a/src/allographer/schema_builder/usecases/sqlite/drop.nim b/src/allographer/schema_builder/usecases/sqlite/drop.nim index 2f3544e1..24b06322 100644 --- a/src/allographer/schema_builder/usecases/sqlite/drop.nim +++ b/src/allographer/schema_builder/usecases/sqlite/drop.nim @@ -4,6 +4,8 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/sqlite/create_migration_table +import ../../queries/sqlite/drop_table proc drop*(rdb:SqliteConnections, tables:varargs[Table]) = From 609c508e0438f0886fe61dc4ddbda7b0755f36f8 Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sun, 19 Jan 2025 15:19:08 +0000 Subject: [PATCH 3/7] mariadb --- .../queries/mariadb/mariadb_query_impl.nim | 26 ------------------- .../queries/mysql/mysql_query_impl.nim | 26 ------------------- .../queries/postgres/postgres_query_impl.nim | 26 ------------------- .../queries/sqlite/sqlite_query_impl.nim | 26 ------------------- .../schema_builder/usecases/mariadb/alter.nim | 10 ++++--- .../usecases/mariadb/create.nim | 3 +++ .../usecases/mariadb/create_query_def.nim | 10 +++---- .../schema_builder/usecases/mariadb/drop.nim | 2 ++ .../schema_builder/usecases/sqlite/alter.nim | 4 --- 9 files changed, 15 insertions(+), 118 deletions(-) delete mode 100644 src/allographer/schema_builder/queries/mariadb/mariadb_query_impl.nim delete mode 100644 src/allographer/schema_builder/queries/mysql/mysql_query_impl.nim delete mode 100644 src/allographer/schema_builder/queries/postgres/postgres_query_impl.nim delete mode 100644 src/allographer/schema_builder/queries/sqlite/sqlite_query_impl.nim diff --git a/src/allographer/schema_builder/queries/mariadb/mariadb_query_impl.nim b/src/allographer/schema_builder/queries/mariadb/mariadb_query_impl.nim deleted file mode 100644 index 204a510c..00000000 --- a/src/allographer/schema_builder/queries/mariadb/mariadb_query_impl.nim +++ /dev/null @@ -1,26 +0,0 @@ -import ../schema_interface -import ./mariadb_query_type -import ./create_migration_table -import ./create_table -import ./reset_table -import ./add_column -import ./change_column -import ./rename_column -import ./drop_column -import ./rename_table -import ./drop_table - - -proc toInterface*(self:MariadbSchema):ISchema = - return ( - createMigrationTable:proc() = self.createMigrationTable(), - createTable:proc(isReset:bool) = self.createTable(isReset), - resetMigrationTable:proc() = self.resetMigrationTable(), - resetTable:proc() = self.resetTable(), - addColumn:proc(isReset:bool) = self.addColumn(isReset), - changeColumn:proc(isReset:bool) = self.changeColumn(isReset), - renameColumn:proc(isReset:bool) = self.renameColumn(isReset), - dropColumn:proc(isReset:bool) = self.dropColumn(isReset), - renameTable:proc(isReset:bool) = self.renameTable(isReset), - dropTable:proc(isReset:bool) = self.dropTable(isReset) - ) diff --git a/src/allographer/schema_builder/queries/mysql/mysql_query_impl.nim b/src/allographer/schema_builder/queries/mysql/mysql_query_impl.nim deleted file mode 100644 index c05d5d3f..00000000 --- a/src/allographer/schema_builder/queries/mysql/mysql_query_impl.nim +++ /dev/null @@ -1,26 +0,0 @@ -import ../schema_interface -import ./mysql_query_type -import ./create_migration_table -import ./create_table -import ./reset_table -import ./add_column -import ./change_column -import ./rename_column -import ./drop_column -import ./rename_table -import ./drop_table - - -proc toInterface*(self:MysqlSchema):ISchema = - return ( - createMigrationTable:proc() = self.createMigrationTable(), - createTable:proc(isReset:bool) = self.createTable(isReset), - resetMigrationTable:proc() = self.resetMigrationTable(), - resetTable:proc() = self.resetTable(), - addColumn:proc(isReset:bool) = self.addColumn(isReset), - changeColumn:proc(isReset:bool) = self.changeColumn(isReset), - renameColumn:proc(isReset:bool) = self.renameColumn(isReset), - dropColumn:proc(isReset:bool) = self.dropColumn(isReset), - renameTable:proc(isReset:bool) = self.renameTable(isReset), - dropTable:proc(isReset:bool) = self.dropTable(isReset) - ) diff --git a/src/allographer/schema_builder/queries/postgres/postgres_query_impl.nim b/src/allographer/schema_builder/queries/postgres/postgres_query_impl.nim deleted file mode 100644 index aa2c65e2..00000000 --- a/src/allographer/schema_builder/queries/postgres/postgres_query_impl.nim +++ /dev/null @@ -1,26 +0,0 @@ -import ../schema_interface -import ./postgres_query_type -import ./create_migration_table -import ./create_table -import ./reset_table -import ./add_column -import ./change_column -import ./rename_column -import ./drop_column -import ./rename_table -import ./drop_table - - -proc toInterface*(self:PostgresSchema):ISchema = - return ( - createMigrationTable:proc() = self.createMigrationTable(), - createTable:proc(isReset:bool) = self.createTable(isReset), - resetMigrationTable:proc() = self.resetMigrationTable(), - resetTable:proc() = self.resetTable(), - addColumn:proc(isReset:bool) = self.addColumn(isReset), - changeColumn:proc(isReset:bool) = self.changeColumn(isReset), - renameColumn:proc(isReset:bool) = self.renameColumn(isReset), - dropColumn:proc(isReset:bool) = self.dropColumn(isReset), - renameTable:proc(isReset:bool) = self.renameTable(isReset), - dropTable:proc(isReset:bool) = self.dropTable(isReset) - ) diff --git a/src/allographer/schema_builder/queries/sqlite/sqlite_query_impl.nim b/src/allographer/schema_builder/queries/sqlite/sqlite_query_impl.nim deleted file mode 100644 index 0f39339c..00000000 --- a/src/allographer/schema_builder/queries/sqlite/sqlite_query_impl.nim +++ /dev/null @@ -1,26 +0,0 @@ -import ../schema_interface -import ./sqlite_query_type -import ./create_migration_table -import ./create_table -import ./reset_table -import ./add_column -import ./change_column -import ./rename_column -import ./drop_column -import ./rename_table -import ./drop_table - - -proc toInterface*(self:SqliteSchema):ISchema = - return ( - createMigrationTable:proc() = self.createMigrationTable(), - createTable:proc(isReset:bool) = self.createTable(isReset), - resetMigrationTable:proc() = self.resetMigrationTable(), - resetTable:proc() = self.resetTable(), - addColumn:proc(isReset:bool) = self.addColumn(isReset), - changeColumn:proc(isReset:bool) = self.changeColumn(isReset), - renameColumn:proc(isReset:bool) = self.renameColumn(isReset), - dropColumn:proc(isReset:bool) = self.dropColumn(isReset), - renameTable:proc(isReset:bool) = self.renameTable(isReset), - dropTable:proc(isReset:bool) = self.dropTable(isReset) - ) diff --git a/src/allographer/schema_builder/usecases/mariadb/alter.nim b/src/allographer/schema_builder/usecases/mariadb/alter.nim index 137f0e1e..8223e3e0 100644 --- a/src/allographer/schema_builder/usecases/mariadb/alter.nim +++ b/src/allographer/schema_builder/usecases/mariadb/alter.nim @@ -5,6 +5,12 @@ import ../../models/column import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/mariadb/create_migration_table +import ../../queries/mariadb/add_column +import ../../queries/mariadb/change_column +import ../../queries/mariadb/rename_column +import ../../queries/mariadb/drop_column +import ../../queries/mariadb/rename_table proc alter*(rdb:MariadbConnections, tables:varargs[Table]) = @@ -23,19 +29,15 @@ proc alter*(rdb:MariadbConnections, tables:varargs[Table]) = column.usecaseType = Alter case column.migrationType of AddColumn: - discard query = createSchema(rdb, table, column) query.addColumn(isReset) of ChangeColumn: - discard query = createSchema(rdb, table, column) query.changeColumn(isReset) of RenameColumn: - discard query = createSchema(rdb, table, column) query.renameColumn(isReset) of DropColumn: - discard query = createSchema(rdb, table, column) query.dropColumn(isReset) of ChangeTable: diff --git a/src/allographer/schema_builder/usecases/mariadb/create.nim b/src/allographer/schema_builder/usecases/mariadb/create.nim index fb817bf5..5f194223 100644 --- a/src/allographer/schema_builder/usecases/mariadb/create.nim +++ b/src/allographer/schema_builder/usecases/mariadb/create.nim @@ -4,6 +4,9 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/mariadb/create_migration_table +import ../../queries/mariadb/create_table +import ../../queries/mariadb/reset_table proc create*(rdb:MariadbConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/mariadb/create_query_def.nim b/src/allographer/schema_builder/usecases/mariadb/create_query_def.nim index 746c9829..dc558192 100644 --- a/src/allographer/schema_builder/usecases/mariadb/create_query_def.nim +++ b/src/allographer/schema_builder/usecases/mariadb/create_query_def.nim @@ -1,13 +1,11 @@ import ../../../query_builder/models/mariadb/mariadb_types import ../../queries/mariadb/mariadb_query_type -import ../../queries/mariadb/mariadb_query_impl -import ../../queries/schema_interface import ../../models/table import ../../models/column -proc createSchema*(rdb:MariadbConnections, table:Table):ISchema = - return MariadbSchema.new(rdb, table).toInterface() +proc createSchema*(rdb:MariadbConnections, table:Table):MariadbSchema = + return MariadbSchema.new(rdb, table) -proc createSchema*(rdb:MariadbConnections, table:Table, column:Column):ISchema = - return MariadbSchema.new(rdb, table, column).toInterface() +proc createSchema*(rdb:MariadbConnections, table:Table, column:Column):MariadbSchema = + return MariadbSchema.new(rdb, table, column) diff --git a/src/allographer/schema_builder/usecases/mariadb/drop.nim b/src/allographer/schema_builder/usecases/mariadb/drop.nim index 7313466c..2afdf0bc 100644 --- a/src/allographer/schema_builder/usecases/mariadb/drop.nim +++ b/src/allographer/schema_builder/usecases/mariadb/drop.nim @@ -4,6 +4,8 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/mariadb/create_migration_table +import ../../queries/mariadb/drop_table proc drop*(rdb:MariadbConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/sqlite/alter.nim b/src/allographer/schema_builder/usecases/sqlite/alter.nim index 94010d07..c15e1fd6 100644 --- a/src/allographer/schema_builder/usecases/sqlite/alter.nim +++ b/src/allographer/schema_builder/usecases/sqlite/alter.nim @@ -29,19 +29,15 @@ proc alter*(rdb:SqliteConnections, tables:varargs[Table]) = column.usecaseType = Alter case column.migrationType of AddColumn: - discard query = createSchema(rdb, table, column) query.addColumn(isReset) of ChangeColumn: - discard query = createSchema(rdb, table, column) query.changeColumn(isReset) of RenameColumn: - discard query = createSchema(rdb, table, column) query.renameColumn(isReset) of DropColumn: - discard query = createSchema(rdb, table, column) query.dropColumn(isReset) of ChangeTable: From 573bd0a0bd9932fc97b1d930b50d1f16daaf2f09 Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sun, 19 Jan 2025 15:22:19 +0000 Subject: [PATCH 4/7] mysql --- .../schema_builder/queries/schema_interface.nim | 11 ----------- .../schema_builder/usecases/mysql/alter.nim | 6 ++++++ .../schema_builder/usecases/mysql/create.nim | 3 +++ .../usecases/mysql/create_query_def.nim | 10 ++++------ .../schema_builder/usecases/mysql/drop.nim | 2 ++ 5 files changed, 15 insertions(+), 17 deletions(-) delete mode 100644 src/allographer/schema_builder/queries/schema_interface.nim diff --git a/src/allographer/schema_builder/queries/schema_interface.nim b/src/allographer/schema_builder/queries/schema_interface.nim deleted file mode 100644 index 5a1b0cab..00000000 --- a/src/allographer/schema_builder/queries/schema_interface.nim +++ /dev/null @@ -1,11 +0,0 @@ -type ISchema* = tuple - createMigrationTable:proc() - createTable:proc(isReset:bool) - resetMigrationTable:proc() - resetTable:proc() - addColumn:proc(isReset:bool) - changeColumn:proc(isReset:bool) - renameColumn:proc(isReset:bool) - dropColumn:proc(isReset:bool) - renameTable:proc(isReset:bool) - dropTable:proc(isReset:bool) diff --git a/src/allographer/schema_builder/usecases/mysql/alter.nim b/src/allographer/schema_builder/usecases/mysql/alter.nim index 28106e39..61b79507 100644 --- a/src/allographer/schema_builder/usecases/mysql/alter.nim +++ b/src/allographer/schema_builder/usecases/mysql/alter.nim @@ -5,6 +5,12 @@ import ../../models/column import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/mysql/create_migration_table +import ../../queries/mysql/add_column +import ../../queries/mysql/change_column +import ../../queries/mysql/rename_column +import ../../queries/mysql/drop_column +import ../../queries/mysql/rename_table proc alter*(rdb:MysqlConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/mysql/create.nim b/src/allographer/schema_builder/usecases/mysql/create.nim index c1acb91b..4003e559 100644 --- a/src/allographer/schema_builder/usecases/mysql/create.nim +++ b/src/allographer/schema_builder/usecases/mysql/create.nim @@ -4,6 +4,9 @@ import ../../../query_builder/models/mysql/mysql_types import ../../models/table import ../sub/migration_table_def import ./create_query_def +import ../../queries/mysql/create_migration_table +import ../../queries/mysql/create_table +import ../../queries/mysql/reset_table proc create*(rdb:MysqlConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/mysql/create_query_def.nim b/src/allographer/schema_builder/usecases/mysql/create_query_def.nim index 56d7cefc..fcbf403f 100644 --- a/src/allographer/schema_builder/usecases/mysql/create_query_def.nim +++ b/src/allographer/schema_builder/usecases/mysql/create_query_def.nim @@ -1,13 +1,11 @@ import ../../../query_builder/models/mysql/mysql_types import ../../queries/mysql/mysql_query_type -import ../../queries/mysql/mysql_query_impl -import ../../queries/schema_interface import ../../models/table import ../../models/column -proc createSchema*(rdb:MysqlConnections, table:Table):ISchema = - return MysqlSchema.new(rdb, table).toInterface() +proc createSchema*(rdb:MysqlConnections, table:Table):MysqlSchema = + return MysqlSchema.new(rdb, table) -proc createSchema*(rdb:MysqlConnections, table:Table, column:Column):ISchema = - return MysqlSchema.new(rdb, table, column).toInterface() +proc createSchema*(rdb:MysqlConnections, table:Table, column:Column):MysqlSchema = + return MysqlSchema.new(rdb, table, column) diff --git a/src/allographer/schema_builder/usecases/mysql/drop.nim b/src/allographer/schema_builder/usecases/mysql/drop.nim index c42ffd1a..c846d00f 100644 --- a/src/allographer/schema_builder/usecases/mysql/drop.nim +++ b/src/allographer/schema_builder/usecases/mysql/drop.nim @@ -4,6 +4,8 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/mysql/create_migration_table +import ../../queries/mysql/drop_table proc drop*(rdb:MysqlConnections, tables:varargs[Table]) = From 7bccbd5792e4e32266037f1a203eef4cd9093917 Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sun, 19 Jan 2025 15:29:50 +0000 Subject: [PATCH 5/7] surreal --- .../schema_builder/usecases/surreal/alter.nim | 10 ++++++---- .../schema_builder/usecases/surreal/create.nim | 3 +++ .../usecases/surreal/create_query_def.nim | 10 ++++------ .../schema_builder/usecases/surreal/drop.nim | 2 ++ 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/allographer/schema_builder/usecases/surreal/alter.nim b/src/allographer/schema_builder/usecases/surreal/alter.nim index b1763d2b..65d1dd2b 100644 --- a/src/allographer/schema_builder/usecases/surreal/alter.nim +++ b/src/allographer/schema_builder/usecases/surreal/alter.nim @@ -5,6 +5,12 @@ import ../../models/column import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/surreal/create_migration_table +import ../../queries/surreal/add_column +import ../../queries/surreal/change_column +import ../../queries/surreal/rename_column +import ../../queries/surreal/drop_column +import ../../queries/surreal/rename_table proc alter*(rdb:SurrealConnections, tables:varargs[Table]) = @@ -23,19 +29,15 @@ proc alter*(rdb:SurrealConnections, tables:varargs[Table]) = column.usecaseType = Alter case column.migrationType of AddColumn: - discard query = createSchema(rdb, table, column) query.addColumn(isReset) of ChangeColumn: - discard query = createSchema(rdb, table, column) query.changeColumn(isReset) of RenameColumn: - discard query = createSchema(rdb, table, column) query.renameColumn(isReset) of DropColumn: - discard query = createSchema(rdb, table, column) query.dropColumn(isReset) of ChangeTable: diff --git a/src/allographer/schema_builder/usecases/surreal/create.nim b/src/allographer/schema_builder/usecases/surreal/create.nim index 9230c12b..260d0850 100644 --- a/src/allographer/schema_builder/usecases/surreal/create.nim +++ b/src/allographer/schema_builder/usecases/surreal/create.nim @@ -5,6 +5,9 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/surreal/create_migration_table +import ../../queries/surreal/create_table +import ../../queries/surreal/reset_table proc create*(rdb:SurrealConnections, tables:varargs[Table]) = diff --git a/src/allographer/schema_builder/usecases/surreal/create_query_def.nim b/src/allographer/schema_builder/usecases/surreal/create_query_def.nim index 7488e194..192363e1 100644 --- a/src/allographer/schema_builder/usecases/surreal/create_query_def.nim +++ b/src/allographer/schema_builder/usecases/surreal/create_query_def.nim @@ -1,13 +1,11 @@ -import ../../queries/schema_interface import ../../../query_builder/models/surreal/surreal_types import ../../queries/surreal/surreal_query_type -import ../../queries/surreal/surreal_query_impl import ../../models/table import ../../models/column -proc createSchema*(rdb:SurrealConnections, table:Table):ISchema = - return SurrealSchema.new(rdb, table).toInterface() +proc createSchema*(rdb:SurrealConnections, table:Table):SurrealSchema = + return SurrealSchema.new(rdb, table) -proc createSchema*(rdb:SurrealConnections, table:Table, column:Column):ISchema = - return SurrealSchema.new(rdb, table, column).toInterface() +proc createSchema*(rdb:SurrealConnections, table:Table, column:Column):SurrealSchema = + return SurrealSchema.new(rdb, table, column) diff --git a/src/allographer/schema_builder/usecases/surreal/drop.nim b/src/allographer/schema_builder/usecases/surreal/drop.nim index 6b4c98d3..13f4be41 100644 --- a/src/allographer/schema_builder/usecases/surreal/drop.nim +++ b/src/allographer/schema_builder/usecases/surreal/drop.nim @@ -4,6 +4,8 @@ import ../../models/table import ../../enums import ../sub/migration_table_def import ./create_query_def +import ../../queries/surreal/create_migration_table +import ../../queries/surreal/drop_table proc drop*(rdb:SurrealConnections, tables:varargs[Table]) = From dea5262615c910b500ddb94f14563339c907d7f9 Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sun, 19 Jan 2025 15:30:53 +0000 Subject: [PATCH 6/7] . --- tests/clear_tables.nim | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/clear_tables.nim b/tests/clear_tables.nim index 76d71fe8..b6ab6efb 100644 --- a/tests/clear_tables.nim +++ b/tests/clear_tables.nim @@ -47,9 +47,6 @@ proc clearTables*(rdb:SqliteConnections) {.async.} = proc clearTables*(rdb:SurrealConnections) {.async.} = let dbInfo = rdb.raw("INFO FOR DB").info().await - echo "=".repeat(30) - echo "dbInfo: ", dbInfo - let tables = dbInfo[0]["result"]["tb"] for (table, _) in tables.pairs: if not table.startsWith("_"): From f9f449bd3c52267af8234223f03842b388484c72 Mon Sep 17 00:00:00 2001 From: itsumura-h Date: Sun, 19 Jan 2025 16:41:14 +0000 Subject: [PATCH 7/7] . --- .../queries/surreal/surreal_query_impl.nim | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 src/allographer/schema_builder/queries/surreal/surreal_query_impl.nim diff --git a/src/allographer/schema_builder/queries/surreal/surreal_query_impl.nim b/src/allographer/schema_builder/queries/surreal/surreal_query_impl.nim deleted file mode 100644 index 8ecfbb52..00000000 --- a/src/allographer/schema_builder/queries/surreal/surreal_query_impl.nim +++ /dev/null @@ -1,26 +0,0 @@ -import ../schema_interface -import ./surreal_query_type -import ./create_migration_table -import ./create_table -import ./reset_table -import ./add_column -import ./change_column -import ./rename_column -import ./drop_column -import ./rename_table -import ./drop_table - - -proc toInterface*(self:SurrealSchema):ISchema = - return ( - createMigrationTable:proc() = self.createMigrationTable(), - createTable:proc(isReset:bool) = self.createTable(isReset), - resetMigrationTable:proc() = self.resetMigrationTable(), - resetTable:proc() = self.resetTable(), - addColumn:proc(isReset:bool) = self.addColumn(isReset), - changeColumn:proc(isReset:bool) = self.changeColumn(isReset), - renameColumn:proc(isReset:bool) = self.renameColumn(isReset), - dropColumn:proc(isReset:bool) = self.dropColumn(isReset), - renameTable:proc(isReset:bool) = self.renameTable(isReset), - dropTable:proc(isReset:bool) = self.dropTable(isReset) - )