我正在尝试在 Rails 应用程序中播种数据,尤其是使用载波的应用程序。我正在使用在 stackoverflow 上找到的 2 个不错的解决方案的组合!
我有以下几点:
namespace :db do
desc "This loads the development data."
task :seed => :environment do
require 'active_record/fixtures'
Dir.glob(RAILS_ROOT + '/db/fixtures/*.yml').each do |file|
base_name = File.basename(file, '.*')
puts "Loading #{base_name}..."
ActiveRecord::Fixtures.create_fixtures('db/fixtures', base_name)
end
#add in the image file for the default data
for item in Item.find(:all)
item.filename.store!(File.open(File.join(Rails.root, "app/assets/images/objects/" + item.name.gsub(/ /,'').downcase + ".svg")))
item.save!
end
end
desc "This drops the db, builds the db, and seeds the data." …Run Code Online (Sandbox Code Playgroud) 我在rails应用程序中有一系列迁移,其中包括以下步骤:
现在我在这个新字段/列上使用"validates_inclusion_of".这在我的初始开发机器上运行良好,该机器已经有一个应用了这些迁移的数据库.但是,如果我转到新计算机并运行所有迁移,则第2步失败,因为validates_inclusion_of失败,因为迁移3中的字段尚未添加到模型类中.
作为一种解决方法,我可以注释掉"验证_..."行,运行迁移并取消注释,但这并不好.
更好的方法是重新排序我的迁移,以便在添加所有列之后,用户创建(步骤2)最后.
我是铁杆新手,所以我想我会问这种情况的首选方法是:)
在我的应用程序中,我有一个ROLES表.很简单:1:Admin,DESC东西2:Guest,Desc stuff
等等..
我刚刚遇到的问题是我在heroku上部署应用程序并且一切都坏了,原因是数据库中的这些默认角色没有在部署中填充...我没想过的东西.
使用Rails 3,有没有办法说,你好Rails先生,这是表的默认值吗?在迁移或数据库创建?
谢谢
我在Heroku上测试我的应用程序(这太棒了!)我意识到我无法创建我的root用户.
我正在使用Authlogic和rails_authorization_plugin.
有没有我可以在我的一个迁移文件中添加一个部分来添加此用户并为其分配角色root?或者我可以通过rake任务执行此操作吗?
任何见解将不胜感激!