是否有任何易于安装/使用(在 unix 上)的数据库迁移工具,例如 Rails Migrations?我真的很喜欢这个想法,但是纯粹为了管理我的数据库迁移而安装 ruby/rails 似乎有些过分了。
最佳答案
只需使用 ActiveRecord 和一个简单的 Rakefile。例如,如果您将迁移放在 db/migrate
目录中,并且有一个包含您的数据库配置的 database.yml
文件,那么这个简单的 Rakefile 应该可以工作:
Rakefile:
require 'active_record'
require 'yaml'
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(STDOUT)
end
数据库.yml:
adapter: mysql
encoding: utf8
database: test_database
username: root
password:
host: localhost
之后,您将能够运行 rake migrate
并在没有周围的 Rails 应用程序的情况下获得所有迁移的优点。
或者,我有一组 bash 脚本,它们执行与 ActiveRecord 迁移非常相似的功能,但它们只适用于 Oracle。在切换到 Ruby 和 Rails 之前,我曾经使用过它们。它们有些复杂,我不提供支持,但如果您有兴趣,请随时与我联系。
关于ruby-on-rails - 类似 Rails 的数据库迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/101868/