v/vlib/orm/orm_option_array_test.v

48 lines
771 B
V

// vtest flaky: true
// vtest retry: 3
import db.sqlite
struct Member {
id int @[primary]
children ?[]Child @[fkey: parent_id]
}
struct Child {
id int @[primary]
parent_id int
}
fn test_main() {
mut db := sqlite.connect(':memory:') or { panic(err) }
defer {
db.close() or { panic(err) }
}
sql db {
create table Member
} or { println(err) }
sql db {
create table Child
} or { println(err) }
new_member := Member{
id: 1
children: [Child{
id: 1
parent_id: 1
}, Child{
id: 2
parent_id: 1
}]
}
sql db {
insert new_member into Member
}!
rows := sql db {
select from Member
}!
assert rows[0].children?.len == 2
assert rows[0].children?[0].id == 1
assert rows[0].children?[1].id == 2
}