【问题标题】:rake db:seed won't seed all the data in productionrake db:seed 不会播种生产中的所有数据
【发布时间】:2013-05-22 07:17:45
【问题描述】:

我有一个种子.rb 文件,其中包含要播种的数据。并非所有数据都被播种,rake db:seed 在终端中以消息killed 结束。但是,同样适用于开发环境。 这是我想要播种的部分

xls_utility = Roo::Spreadsheet.open('/path/to/data.xlsx')
utilities = []
xls_utility.each do |row|
  utility = Utility.new
  if row[0] != "State"
  ["state_code", "value"].each_with_index do |attribute, index|
    utility[attribute] = row.flatten[index]
  end
    utilities << utility
  end
end
Utility.import utilities

【问题讨论】:

  • 我尝试使用rails.application.load_seed.. 没有运气
  • 您是否在 rake 任务中提及 RAILS_ENV ?就这样吧:rake RAILS_ENV=production db:seed
  • 是的,我说的是 RAILS_ENV=production
  • 我在做RAILS_ENV=production rake db:seed 不正确吗?
  • @geeku 不确定您是否知道 truncate 的含义,但这意味着 - 从表中删除所有行而不记录单个行删除。因此,从该日志的外观来看,它正在删除表中的所有行。

标签: ruby database ruby-on-rails-3 rake seed


【解决方案1】:

因为我需要将数据播种到某些表中,并且 rake db:seed 似乎不起作用。 在 mysql 中导出和导入表是一种替代方法。 从本地导出

mysqldump -p - -user=username dbname utilites > utilities.sql

从生产中导入

mysql -u username -p -D dbname < utilities.sql

但是,我仍然想知道为什么 rails 播种不起作用。谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-24
    • 2020-08-10
    • 2017-10-28
    • 1970-01-01
    • 2013-02-13
    • 2015-10-12
    • 2014-10-09
    • 1970-01-01
    相关资源
    最近更新 更多