2009-09-19 38 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 

和你遷移的分貝/遷移文件夾。 你不需要整個活動資源和所有的軌道基礎。

相關問題