当前位置:  开发笔记 > 后端 > 正文

类似Rails的数据库迁移?

如何解决《类似Rails的数据库迁移?》经验,为你挑选了1个好方法。

是否有任何易于安装/使用(在unix上)的数据库迁移工具,如Rails迁移?我真的很喜欢这个想法,但是纯粹安装ruby/rails来管理我的数据库迁移似乎有些过分.



1> Ryan McGeary..:

只需使用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之前使用它们.它们有点复杂,我不提供支持,但如果您有兴趣,请随时与我联系.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有