我们的应用程序不会在其最终状态的任何部分使用rails,但迁移是根据我的经验定义模式的绝佳方式,因此我只想使用rails的这一方面。
这是否合理?如果没有,是否有任何工具可用于执行相同类型的工作?我们有一个三阶段部署环境,包括测试,QA和生产层,因此这可以很好地映射到rails使用的层。然而,我们主要是一个蟒蛇商店,所以pythonic等价物将是漂亮的。
答案 0 :(得分:4)
我没有任何特别的选择给你。但是,如果您决定使用迁移,则必须知道您不需要仅使用整个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文件夹中的迁移。 您不需要整个activeresources和所有rails base。
答案 1 :(得分:-1)
我会谷歌python等价物。迁移很有趣,如果你喜欢这样工作并且它有效,那么当然这是合理的。您应该遵循建议,并定期检查schema.rb,而不是依靠迁移来构建生产服务器。
答案 2 :(得分:-1)
我知道你是一个Python商店,但是有一个非常独立的ActiveRecord Migrations包的PHP端口。