2009-09-19 54 views
3

我们的应用程序不会为其最终状态的任何部分使用rails,但迁移是根据我的经验定义模式的绝妙方式,所以我只想使用rails的这一方面。我可以只使用rails的迁移来维护数据库模式吗?

这是一个合理的事情吗?如果没有,那里是否有任何工具可以用来完成同样的工作?我们有一个三阶段的部署环境,包含测试,质量保证和生产层,所以这很好地映射到rails所使用的层。但是,我们主要是一家python商店,所以pythonic等价物会很漂亮。

回答

-1

我会谷歌的python等值。迁移很有趣,如果你喜欢这种方式并且工作,那当然是合理的。然而,您应该遵循建议,并定期检查schema.rb,而不是依靠迁移来构建生产服务器。

4

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

只要你安装了active_record宝石,你可以这样做: 在你的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 

和你迁移的分贝/迁移文件夹。 你不需要整个活动资源和所有的轨道基础。

相关问题