sql >> Databasteknik >  >> RDS >> PostgreSQL

Vad avgör om rails inkluderar id::serial i en tabelldefinition?

När du kör rails db:migrate:reset i motsats till rails db:reset , databasschemat laddas inte från schema.rb men är istället rekonstruerad från alla dina migrationer. I migrering och schemafiler behöver du inte ange ett id fältet tillhandahålls ett som standard. Men från och med Rails 5.1 ökades standardstorleken för id-fältet från INT till BIGINT för MySQL och från SERIAL till BIGSERIAL för PostgreSQL. Så troligtvis finns det någon interaktion mellan dina migreringar, schema.rb , och det faktiska schemat i databasen som gör att id-fältet behandlas som standard (och utelämnas) i vissa fall och explicit specificeras i andra, bara på grund av förändringen i standardstorleken. Det är svårt att gissa källan till problemet utan att se alla relevanta filer.



  1. Hur infogar jag korrekt flera rader i PG med nod-postgres?

  2. kan inte ladda oci8 -> Allvarligt fel:Anrop till odefinierad funktion oci_connect()

  3. Infoga JSON-objektdata i MySQL med Node.JS

  4. Fel #2002 Kan inte ansluta till den lokala MySQL-servern via uttaget '/Applications/MAMP/tmp/mysql/mysql.sock' (2)