We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Saving multiple records within a loop returns objects with duplicate ids
id
Records should have unique ids
Using the 'Todo' class from the Vapor template, add:
func test(_ req: Request) throws -> Future<[Todo]> { var todos = [Future<Todo>]() for i in 1...5 { let todo = Todo(title: "item \(i)") todos.append(todo.save(on: req).map { print("todo: \($0.id!), title: \($0.title)") return $0 }) } return todos.flatten(on: req) }
With the in-memory db, the printout yields:
todo: 2, title: item 1 todo: 3, title: item 2 todo: 4, title: item 3 todo: 5, title: item 4 todo: 5, title: item 5
Notice 2 records have the id 5.
With a sqlite db, the console printout is the same, but, peeking in the sqlite.db itself shows that the records do indeed have unique ids.
"id","title" 1,"item 1" 2,"item 2" 3,"item 3" 4,"item 4" 5,"item 5"
The text was updated successfully, but these errors were encountered:
This issue does not happen with FluentMySQL nor FluentPosgreSQL
Sorry, something went wrong.
Still occurring. Did you find a fix for it?
Closing due to extreme age
No branches or pull requests
Bug
Saving multiple records within a loop returns objects with duplicate
id
sExpected Result
Records should have unique
id
sSteps to reproduce
Using the 'Todo' class from the Vapor template, add:
With the in-memory db, the printout yields:
Notice 2 records have the
id
5.With a sqlite db, the console printout is the same, but, peeking in the sqlite.db itself shows that the records do indeed have unique
id
s.The text was updated successfully, but these errors were encountered: