6bfc5b3a3c
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled
- Pure Nim wire protocol client (async + sync, no C FFI) - Query Builder: fluent API, SQL generator, execution, transactions - Schema Builder: create/alter/drop tables, column operations - Connection pool with aging and timeout handling - ORM integration via compile-time DB_BARADB switch - Tests: test_open, test_query - Documentation: README.md, PLAN_BARADB.md
28 lines
791 B
Nim
28 lines
791 B
Nim
import std/os
|
|
import std/strutils
|
|
import std/streams
|
|
import std/parsecfg
|
|
|
|
for f in walkDir(getCurrentDir()):
|
|
if f.path.split("/")[^1] == ".env":
|
|
let path = getCurrentDir() / ".env"
|
|
var f = newFileStream(path, fmRead)
|
|
var p: CfgParser
|
|
open(p, f, path)
|
|
while true:
|
|
let e = next(p)
|
|
case e.kind
|
|
of cfgEof: break
|
|
of cfgKeyValuePair: putEnv(e.key, e.value)
|
|
else: discard
|
|
break
|
|
|
|
|
|
const
|
|
isExistsSqlite* = getEnv("DB_SQLITE", $false).parseBool
|
|
isExistsPostgres* = getEnv("DB_POSTGRES", $false).parseBool
|
|
isExistsMysql* = getEnv("DB_MYSQL", $false).parseBool
|
|
isExistsMariadb* = getEnv("DB_MARIADB", $false).parseBool
|
|
isExistsSurrealdb* = getEnv("DB_SURREAL", $false).parseBool
|
|
isExistsBaradb* = getEnv("DB_BARADB", $false).parseBool
|