Tag: 播种

播种数据库时“密码不能为空”错误

我正在尝试使用我在这里找到的seed_dump gem抓取的数据来播种我的数据库。 无论如何,生成的种子文件看起来合法,但它似乎与用户模型validation相悖: ActiveRecord :: RecordInvalid:validation失败:密码不能为空 为了给出一个想法,种子看起来像这样: User.create!([ {email: “1234@localhost”, encrypted_password: “$2a$10$5eoHh6M2q4GjGkHClO.NqebWWhS94D8rNj5Ot6CB2qrbn7IrTfkSa”, reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 1, current_sign_in_at: “2014-12-31 22:27:09”, last_sign_in_at: “2014-12-31 22:27:09”, current_sign_in_ip: “127.0.0.1”, last_sign_in_ip: “127.0.0.1”, admin: false} ]) 此外,我正在使用devisegem进行用户管理。 在给定此filter的情况下是否有一种优雅的方式来播种用户数据

Rails Seed-Fu作家为什么种子被评论出来?

所以,这是我的自定义rake任务: task :backup => :environment do |t| SeedFu::Writer.write(‘/path/to/file.rb’, class_name: ‘Category’, constraints: [:id] do |w| Category.all.each do |x| w << x end end end 以下结果文件包含: # DO NOT MODIFY THIS FILE, it was auto-generated. # # Date: 2014-06-15 21:08:13 +0700 # Seeding Category # Written with the command: # # /home/dave/.rvm/gems/ruby-2.1.2/bin/rake backup # Category.seed(:id, #, #, […]

我可以将参数传递给rake db:seed吗?

我的一部分seeds.rb将大量数据加载到数据库中。 我希望能够有选择地加载这些数据。 例如 $ rake db:seed 要么 $rake db:seed[0] 只会加载必要的数据来运行网站 $ rake db:seed[1] 我也会将我的大数据文件加载到数据库中。 这可能吗? 我怎样才能做到这一点? 如果没有,谁能想到办法做我想做的事情?

RoR,无法从DateTime / TimeWithZone迭代

我有一个简单的任务,我想要开始日期和结束日期并循环日期/日期。 此代码正在我的db:seed rake任务中使用。 目前,我的代码经历了以下尝试。 (someModel.start_date.to_datetime..someModel.end_date.to_datetime).each { |x| puts x } …… (someModel.start_date…someModel.end_date).each { |x| puts x } 在每种情况下,我都会收到这样的错误。 can’t iterate from ActiveSupport::TimeWithZone or can’t iterate from DateTime 如果有人对如何迭代一系列DateTimes有任何线索,我将非常感激。

附加到rake db:seed并在rails中运行而不复制数据

Rake db:seed用应用程序的默认数据库值填充你的数据库吧? 那么,如果您已经有一个种子并且需要添加它(您添加了一个需要种子的新function)。 根据我的经验,当我再次运行rake db:seed时,它已经添加了现有内容,因此现有内容变为了两倍。 我需要的是添加一些种子,当它运行时,它应该只添加最新的种子,并忽略现有的种子。 我该如何解决这个问题? (我通常这样做的脏,noob方式是截断我的整个数据库然后再次运行种子,但是在生产中这不是很聪明,对吧?)