【问题标题】:Rack-based app and ActiveRecord基于机架的应用程序和 ActiveRecord
【发布时间】:2012-08-27 23:11:47
【问题描述】:

我在网上找不到答案,所以我在这里!如果您在基于机架的应用程序(Sinatra、Merb、Camping ...)中使用 activerecord gem,您会自动访问 rake 命令,例如 rake db:migrate 吗?还是你需要做更多的事情?

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

【问题讨论】:

    标签: ruby database activerecord rack


    【解决方案1】:

    rackrake 是真正不同的宝石,但是,许多开发人员使用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
    

    来源:https://gist.github.com/2624944

    【讨论】:

    • 是的,是的,我知道两者是不同的。但是我想知道如果您安装了 activerecord gem,您是否可以直接在基于机架的应用程序中使用 rake db:migrate。不过这段代码可以用,谢谢!
    猜你喜欢
    • 2012-09-14
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 2011-01-20
    相关资源
    最近更新 更多