Sqlite requires AUTOINCREMENT to prevent reuse of ROWIDs
https://www.sqlite.org/autoinc.html
This has caused bugs for me in the past but I never noticed that that was the reason until I looked at the migrations being generated.
A regression test would add a row, delete it, and add another. The id of the newest row should be 2, not 1.