orm: fix code generated for fields of ?[]Type (#20032)

This commit is contained in:
Felipe Pena 2023-11-30 18:36:50 -03:00 committed by GitHub
parent c19b13e165
commit dfab24b936
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 91 additions and 10 deletions

View file

@ -0,0 +1,45 @@
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
}