Når du kører rails db:migrate:reset i modsætning til rails db:reset , databaseskemaet er ikke indlæst fra schema.rb men er i stedet rekonstrueret fra alle dine migrationer. I migreringer og skemafiler behøver du ikke at angive et id felt, er der et som standard. Fra og med Rails 5.1 blev standardstørrelsen af id-feltet dog øget
fra INT til BIGINT til MySQL og fra SERIAL til BIGSERIAL til PostgreSQL. Så sandsynligvis er der interaktion mellem dine migreringer, schema.rb , og det faktiske skema i databasen, der forårsager, at id-feltet behandles som standard (og udelades) i nogle tilfælde og er eksplicit angivet i andre, blot på grund af ændringen i standardstørrelsen. Det er svært at gætte på kilden til problemet uden at se alle de relevante filer.