我在网上找不到答案,所以我来了!如果您在基于机架的应用程序(Sinatra,Merb,Camping ...)中使用activerecord gem,您是否可以自动访问rake命令,例如rake db:migrate?或者你还需要做些什么?
我发现了sinatra-activerecord gem,可以访问该命令,但其他框架呢?
答案 0 :(得分:2)
rack
和rake
确实是不同的宝石,但是,许多开发人员使用rack
自动执行基于rake
的应用中的某些任务。也就是说,有人通常必须编写任务才能使db:migrate
起作用。
以下是db:migrate
真正构成的内容:
require 'bundler/setup'
require 'active_record'
require 'logger'
namespace :db do
desc "Migrate the database through scripts in db/migrate. Target specific version with VERSION=x"
task :migrate => :environment do
ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil )
end
task :environment do
ActiveRecord::Base.logger = Logger.new(STDOUT)
require_relative './config/db'
end
end