无法弄清楚为什么我的种子文件正在创建没有数据的行

时间:2016-06-02 21:11:43

标签: postgresql ruby-on-rails-4 model seed

我正在使用带有PostGre数据库的Rails 4.2.3。我有这个文件作为我的“rake db:seed”命令

的一部分运行
await WriteImmoListAsync();   
await ReadImmoListAsync();

await WriteImmoListAsync();
await ReadImmoListAsync();   

这是描述的表......

Country.delete_all
Country.connection.execute("ALTER SEQUENCE countries_id_seq RESTART WITH 1")
Country.create(:id=>1,:iso=>"AD",:name=>"Andorra")
Country.create(:id=>2,:iso=>"AE",:name=>"United Arab Emirates")
Country.create(:id=>3,:iso=>"AF",:name=>"Afghanistan")
Country.create(:id=>4,:iso=>"AG",:name=>"Antigua and Barbuda")
Country.create(:id=>5,:iso=>"AI",:name=>"Anguilla")
Country.create(:id=>6,:iso=>"AL",:name=>"Albania")
…

但是在运行上述文件后,会创建一堆行,但iso和name字段为空。这是我的app / model / country.rb文件

\d countries;
                              Table "public.countries"
 Column |       Type        |                       Modifiers                        
--------+-------------------+--------------------------------------------------------
 id     | integer           | not null default nextval('countries_id_seq'::regclass)
 iso    | character varying | 
 name   | character varying | 
Indexes:
    "countries_pkey" PRIMARY KEY, btree (id)

感谢您的帮助, - 戴夫

1 个答案:

答案 0 :(得分:0)

您应该完全删除attr_accessor行。 ActiveRecord将根据表列为您定义这些方法。通过使用该行,您基本上可以使用不接触数据库的版本覆盖内置的ActiveRecord方法。