我們的應用程序不會爲其最終狀態的任何部分使用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端口。