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