我们的应用程序不会为其最终状态的任何部分使用rails,但迁移是根据我的经验定义模式的绝妙方式,所以我只想使用rails的这一方面。我可以只使用rails的迁移来维护数据库模式吗?
这是一个合理的事情吗?如果没有,那里是否有任何工具可以用来完成同样的工作?我们有一个三阶段的部署环境,包含测试,质量保证和生产层,所以这很好地映射到rails所使用的层。但是,我们主要是一家python商店,所以pythonic等价物会很漂亮。
我们的应用程序不会为其最终状态的任何部分使用rails,但迁移是根据我的经验定义模式的绝妙方式,所以我只想使用rails的这一方面。我可以只使用rails的迁移来维护数据库模式吗?
这是一个合理的事情吗?如果没有,那里是否有任何工具可以用来完成同样的工作?我们有一个三阶段的部署环境,包含测试,质量保证和生产层,所以这很好地映射到rails所使用的层。但是,我们主要是一家python商店,所以pythonic等价物会很漂亮。
我会谷歌的python等值。迁移很有趣,如果你喜欢这种方式并且工作,那当然是合理的。然而,您应该遵循建议,并定期检查schema.rb,而不是依靠迁移来构建生产服务器。
我没有任何特别的选择给你。但是,如果您决定使用迁移,则必须知道您不需要仅将整个导轨架构用于迁移。
只要你安装了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
和你迁移的分贝/迁移文件夹。 你不需要整个活动资源和所有的轨道基础。
我知道你是一家Python商店,但有一个非常独立的ActiveRecord Migrations软件包的PHP端口。