Skip to content

Commit

Permalink
feat: Update createSchema procedures to accept schemaPath parameter
Browse files Browse the repository at this point in the history
- Added a new optional parameter `schemaPath` to the `createSchema` procedures in MariaDB, MySQL, Postgres, SQLite, and Surreal use cases.
- Updated file writing logic to use the provided `schemaPath` for saving the generated schema file.
- Imported `std/os` module where necessary.
  • Loading branch information
itsumura-h committed Jan 30, 2025
1 parent 43b661e commit f235ba7
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ import std/strformat
import std/json
import std/tables
import std/re
import std/os
import ../../../query_builder/models/mariadb/mariadb_types
import ../../../query_builder/models/mariadb/mariadb_query
import ../../../query_builder/models/mariadb/mariadb_exec


proc getTableInfo(rdb: MariaDBConnections): Future[Table[string, seq[tuple[name: string, typ: string]]]] {.async.} =
## get table info
var tablesInfo = initTable[string, seq[tuple[name: string, typ: string]]]()
Expand Down Expand Up @@ -73,10 +75,10 @@ proc generateSchemaCode(tablesInfo: Table[string, seq[tuple[name: string, typ: s

return code

proc createSchema*(rdb: MariaDBConnections) {.async.} =
proc createSchema*(rdb: MariaDBConnections, schemaPath="") {.async.} =
## create schema.nim
let tablesInfo = await rdb.getTableInfo()
let schemaCode = generateSchemaCode(tablesInfo)

writeFile("schema.nim", schemaCode)
writeFile(schemaPath / "schema.nim", schemaCode)
echo "schema.nim generated successfully"
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import std/strformat
import std/json
import std/tables
import std/re
import std/os
import ../../../query_builder/models/mysql/mysql_types
import ../../../query_builder/models/mysql/mysql_query
import ../../../query_builder/models/mysql/mysql_exec
Expand Down Expand Up @@ -73,10 +74,10 @@ proc generateSchemaCode(tablesInfo: Table[string, seq[tuple[name: string, typ: s

return code

proc createSchema*(rdb: MysqlConnections) {.async.} =
proc createSchema*(rdb: MysqlConnections, schemaPath="") {.async.} =
## create schema.nim
let tablesInfo = await rdb.getTableInfo()
let schemaCode = generateSchemaCode(tablesInfo)

writeFile("schema.nim", schemaCode)
writeFile(schemaPath / "schema.nim", schemaCode)
echo "schema.nim generated successfully"
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import std/strformat
import std/json
import std/tables
import std/re
import std/os
import ../../../query_builder/models/postgres/postgres_types
import ../../../query_builder/models/postgres/postgres_query
import ../../../query_builder/models/postgres/postgres_exec
Expand Down Expand Up @@ -75,10 +76,10 @@ proc generateSchemaCode(tablesInfo: Table[string, seq[tuple[name: string, typ: s
return code


proc createSchema*(rdb: PostgresConnections) {.async.} =
proc createSchema*(rdb: PostgresConnections, schemaPath="") {.async.} =
## create schema.nim
let tablesInfo = rdb.getTableInfo().await
let schemaCode = generateSchemaCode(tablesInfo)

writeFile("schema.nim", schemaCode)
writeFile(schemaPath / "schema.nim", schemaCode)
echo "schema.nim generated successfully"
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import std/strutils
import std/strformat
import std/json
import std/tables
import std/os
import ../../../query_builder/models/sqlite/sqlite_types
import ../../../query_builder/models/sqlite/sqlite_query
import ../../../query_builder/models/sqlite/sqlite_exec
Expand Down Expand Up @@ -72,13 +73,13 @@ proc generateSchemaCode(tablesInfo: Table[string, seq[tuple[name: string, typ: s

return code

proc createSchema*(rdb: SqliteConnections) {.async.} =
proc createSchema*(rdb: SqliteConnections, schemaPath="") {.async.} =
## create schema.nim
try:
let tablesInfo = await rdb.getTableInfo()
let schemaCode = generateSchemaCode(tablesInfo)

writeFile("schema.nim", schemaCode)
writeFile(schemaPath / "schema.nim", schemaCode)
echo "schema.nim generated successfully"

except Exception as e:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import std/strutils
import std/strformat
import std/json
import std/tables
import std/os
import ../../../query_builder/models/surreal/surreal_types
import ../../../query_builder/models/surreal/surreal_query
import ../../../query_builder/models/surreal/surreal_exec
Expand Down Expand Up @@ -76,13 +77,13 @@ proc generateSchemaCode(tablesInfo: Table[string, seq[tuple[name: string, typ: s
return code


proc createSchema*(rdb: SurrealConnections) {.async.} =
proc createSchema*(rdb: SurrealConnections, schemaPath="") {.async.} =
## create schema.nim
try:
let tablesInfo = await rdb.getTableInfo()
let schemaCode = generateSchemaCode(tablesInfo)

writeFile("schema.nim", schemaCode)
writeFile(schemaPath / "schema.nim", schemaCode)
echo "schema.nim generated successfully"

except Exception as e:
Expand Down

0 comments on commit f235ba7

Please sign in to comment.