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
33 lines
865 B
Nim
33 lines
865 B
Nim
import std/json
|
|
import std/strformat
|
|
import std/asyncdispatch
|
|
import std/oids
|
|
import std/times
|
|
import ../../../../src/allographer/query_builder
|
|
import ../../connection
|
|
import ../../schema
|
|
|
|
proc postSeeder*() {.async.} =
|
|
seeder(rdb, "post"):
|
|
let postCount = rdb.table("post").count().await
|
|
if postCount > 0:
|
|
return
|
|
|
|
let users = rdb.table("user").get().orm(UserTable).await
|
|
if users.len == 0:
|
|
raise newException(ValueError, "No users found in database")
|
|
|
|
var postList: seq[JsonNode]
|
|
for i in 1..users.len:
|
|
let row = PostTable(
|
|
id: $genOid(),
|
|
title: &"post {i}",
|
|
content: &"content {i}",
|
|
user_id: users[i-1].id,
|
|
created_at: now().toTime().toUnix().int,
|
|
updated_at: now().toTime().toUnix().int
|
|
)
|
|
postList.add(%row)
|
|
|
|
rdb.table("post").insert(postList).await
|