SQLite表没有从多个种子文件填充

时间:2014-12-12 16:17:39

标签: ruby-on-rails ruby database sqlite

我运行$ rake db:seed时没有填充我的数据库,也没有引发任何错误。

这是我种子档案的一部分:

require 'date'

holidays_array = []
holidays = File.open('holidays_seeds.txt')
holidays.each("],"=$/) do |holiday|
  holidays_array << holiday.split(",").strip
end
holidays.close

holidays_array.each do |name, link_url, date|
  Holiday.create!( 
    name: name, 
    link_url: link_url, 
    date: date)
end

...

以下是&#39; holidays_seeds.txt&#39;的格式:

# January
[
  "New Year's Day", 
  "http://en.wikipedia.org/wiki/New_Year%27s_Day", 
  "#{DateTime.new(Date.today.year, 1, 1, 0, 0, 0)}"
],
[
  "Martin Luther King Jr. Day",
  "http://en.wikipedia.org/wiki/Martin_Luther_King,_Jr._Day",
  'varies'
],
...

这是我的假日模特:

class Holiday < ActiveRecord::Base
  has_and_belongs_to_many :countries
  has_and_belongs_to_many :users
end

$ rails dbconsole中,当我SELECT * FROM holidays;时,它什么也没给我。 PRAGMA table_info(holidays);显示列标题。

我可能忽略了一些显而易见的事情。你能告诉我那可能是什么吗?

1 个答案:

答案 0 :(得分:0)

将文件路径扩展为File.open('db/seeds/holidays_seeds.txt')填充数据库。