Když spustíte rails db:migrate:reset na rozdíl od rails db:reset , schéma databáze není načteno z schema.rb ale místo toho je rekonstruován ze všech vašich migrací. V migracích a souborech schémat nemusíte zadávat id Ve výchozím nastavení je k dispozici jedno pole. Počínaje verzí Rails 5.1 se však výchozí velikost pole id zvětšila
z INT na BIGINT pro MySQL a ze SERIAL na BIGSERIAL pro PostgreSQL. Pravděpodobně tedy existuje určitá interakce mezi vašimi migracemi, schema.rb a skutečné schéma v databázi, které způsobuje, že pole id je v některých případech považováno za výchozí (a vynecháno) a v jiných je explicitně specifikováno pouze kvůli změně výchozí velikosti. Je těžké odhadnout zdroj problému, aniž byste viděli všechny relevantní soubory.