rails db:migrate:reset
を実行すると rails db:reset
とは対照的に 、データベーススキーマはschema.rb
からロードされません ただし、代わりにすべての移行から再構築されます。移行およびスキーマファイルでは、id
を指定する必要はありません。 フィールド、1つはデフォルトで提供されます。ただし、Rails 5.1以降、idフィールドのデフォルトサイズが増加しました
INT
から BIGINT
へ MySQLの場合およびSERIAL
から BIGSERIAL
へ PostgreSQLの場合。したがって、おそらく移行間に何らかの相互作用があります、schema.rb
、およびデフォルトサイズの変更のために、idフィールドがデフォルトとして扱われる(および省略される)場合と、明示的に指定される場合があるデータベース内の実際のスキーマ。関連するすべてのファイルを確認せずに、問題の原因を推測することは困難です。