【问题标题】:Can I use just migrations from rails to maintain a database schema?我可以只使用从 Rails 迁移来维护数据库模式吗?
【发布时间】:2009-09-19 06:08:10
【问题描述】:

我们的应用程序不会在其最终状态的任何部分使用 rails,但根据我的经验,迁移是定义架构的绝佳方式,因此我只想使用 rails 的这一方面。

这是合理的做法吗?如果没有,是否有任何工具可以用于执行相同类型的工作?我们有一个三阶段的部署环境,包括测试、QA 和生产层,所以这很好地映射到 rails 使用的层。但是,我们主要是一家 Python 商店,所以 Python 的等价物会很漂亮。

【问题讨论】:

    标签: ruby-on-rails database schema migration


    【解决方案1】:

    我没有任何特别的选择可以给你。但是,如果您决定使用迁移,您必须知道您不需要仅将整个 Rails 架构用于迁移。

    只要您安装了 active_record gem,您就可以: 在你的 Rakefile 中

    require 'active_record'
    require 'yaml'
    
    task :default => :migrate 
    

    在同一路径的文件中:

    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.establish_connection(YAML::load(File.open('database.yml')))
        ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))
    end
    

    还有您在 db/migrate 文件夹中的迁移。 您不需要整个活动资源和所有轨道基础。

    【讨论】:

      【解决方案2】:

      我会在谷歌上搜索 python 等价物。迁移很有趣,如果你喜欢这样工作并且它有效,那么它当然是合理的。但是,您应该遵循建议并定期检查 schema.rb,而不是指望迁移来构建您的生产服务器。

      【讨论】:

        【解决方案3】:

        我知道你是一家 Python 商店,但 ActiveRecord 迁移包有一个 PHP 端口,它非常独立。

        https://github.com/ruckus/ruckusing-migrations

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-04
          • 2013-03-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-15
          • 2012-12-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多