rake db:seedを使用して実行されるシードを含むrailsプロジェクトがあります。これにより、RBファイルがdb / seedsディレクトリにロードされ、次のように実行されます。
Fixtures.create_fixtures("db/seeds","projects")
フォームにprojects.ymlがあります
project_name1:
property: value
project_name2:
property: value
プロジェクトのSQLテーブルには、既存のプロジェクトレコードがあります。YMLファイルにあるものの中には新しいものとそうでないものがあります。DBシードの実行に数日を費やしましたが、プロジェクトIDの一部は変更されましたが、他のIDは変更されませんでした。ただし、すべてがYMLファイルに含まれていても、IDを変更しなかったものは複製されません。そのため、問題のないレコードもあれば、削除して新しいIDで再追加するレコードもあります(または、IDを完全に更新するだけで、どちらかわからない場合もあります)。
それから突然それはこれをやめました。通常どおりデータベースをドロップしてリロードします(SQLダンプを使用してクリーンで変更されていない状態に戻します)が、DBシードは完全に実行され、既存のデータはそのままで、新しいデータのみが追加されます(すべてがymlファイルにある場合でも)既存のIDに触れることなく。
それから突然また、それは再びそれをし始めました。私は2週間、シード、既存のデータシード、IDの更新についてグーグルで検索しましたが運が悪かったです。
もちろん、どんな助けでも大歓迎です。