在 db:migrate 之前耙 db:seed

Moh*_*awy 3 ruby ruby-on-rails

rake db:migrate每次播种时我都会出错。我不想迁移,因为它由于在我的数据库中查找尚不存在的表而失败。我怎么能忽略这个并继续种子?

mmahalwy @ ~/Desktop/Code/API [56] ? rake db:seed
You have 4 pending migrations:
  20141206123759 AddEsAnalyzerColumnToLanguageTable
  20141213090426 CreateTextFontView
  20141213090434 UpdateLemmaAndStem
  20141230124205 ChangeTextFontView
Run `rake db:migrate` to update your database then try again.
Run Code Online (Sandbox Code Playgroud)

注意:我有一个structure.sql文件,其中包含用于创建表和从 yml 播种数据的所有 sql 命令。我的迁移目前需要在数据/表在数据库中之后运行。

Sha*_*ell 5

您可以完全绕过耙子并直接“播种”。我并不是真的提倡它,但它会解决你眼前的问题:

rails runner ActiveRecord::Tasks::DatabaseTasks.load_seed
Run Code Online (Sandbox Code Playgroud)

db:structure:load如果这就是您的全部播种工作,您可能需要查看加载您的 structure.sql 文件的任务。