Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 基于机架的应用程序和ActiveRecord_Ruby_Database_Activerecord_Rack - Fatal编程技术网

Ruby 基于机架的应用程序和ActiveRecord

Ruby 基于机架的应用程序和ActiveRecord,ruby,database,activerecord,rack,Ruby,Database,Activerecord,Rack,我在网上找不到答案,所以我来了!如果您在基于机架的应用程序(Sinatra、Merb、Camping…)中使用activerecord gem,您是否会自动访问rake命令,如rake db:migrate?还是你必须做更多的事 我发现sinatra activerecord gem可以访问该命令,但是其他框架呢?rack和rake确实是不同的gem,然而,许多开发人员使用rake在基于rack的应用程序中自动执行某些任务。也就是说,通常需要有人编写任务才能让db:migrate工作 下面是db

我在网上找不到答案,所以我来了!如果您在基于机架的应用程序(Sinatra、Merb、Camping…)中使用activerecord gem,您是否会自动访问rake命令,如rake db:migrate?还是你必须做更多的事


我发现sinatra activerecord gem可以访问该命令,但是其他框架呢?

rack
rake
确实是不同的gem,然而,许多开发人员使用
rake
在基于
rack
的应用程序中自动执行某些任务。也就是说,通常需要有人编写任务才能让
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

资料来源:

是的,是的,我知道这两个是不同的。但是我想知道如果你安装了activerecord gem,你是否可以在基于机架的应用程序中直接使用rake db:migrate。但是这个代码可能有用,谢谢!