私は自分のプロジェクトの種を書き込もうとしてきましたが、ちょっとした障害に遭遇しました。
私は私のとテーブルとのmany-to-many
関係を持っています。したがって、データベースをシードするときは、正しい ID を持つレコードを結合テーブルに追加する必要があります。そのためには、ユーザーとロールを見つけて取得する必要があり、それが問題です。続編サイトで適切なドキュメントが見つかりません。シーディングと移行には、 sequelize-cliを使用しています。パラメータとして a を取得しますが、例が見つからないか、このことが実際に何ができるかについて言及していません。いくつかの簡単な例だけで、(どういうわけか) 移行が完了し、Google で見つけたものを知ることができました。users
roles
email
name
ids
queryInterface
私が言う「汚いトリック」を使用してこれを解決しました...
// user_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
id: 1,
name: 'John doe',
email: 'john@doe.com',
created_at,
updated_at
}], {});
// roles_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
id: 1,
name: 'admin',
created_at,
updated_at
}, {
id: 2,
name: 'user',
created_at,
updated_at
}]);
//user_roles_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
employee_id: 1,
role_id: 1
}]);
},
シードをもう一度実行して、これがどのように機能するかを忘れたい場合、将来面倒になる可能性があるため、このソリューションは好きではありません。this を使用してデータベースにクエリを実行する方法があるはずqueryInterface
です。あなたの 1 人がこの問題に遭遇して解決したかどうか疑問に思っていました。もしそうなら、共有してください。