使用ruby脚本删除并重新创建MySQL数据库

时间:2011-02-23 18:05:56

标签: mysql ruby

有没有办法从ruby脚本中删除并重新创建数据库?我应该使用哪种gem(dbi,mysql2)?

使用DBI我遇到的问题是,当数据库尚未创建时,我无法连接到MySQL服务器。

谢谢

2 个答案:

答案 0 :(得分:6)

先决条件:确保在系统上正确安装了mysql2。

require 'mysql2'

@db_host = "localhost"
@db_user = "someuser"
@db_pass = "somepass"
@db_name = "test_db"

client = Mysql2::Client.new(:host => @db_host, :username => @db_user, :password => @db_pass)
client.query("DROP DATABASE IF EXISTS #{@db_name}")
client.query("CREATE DATABASE #{@db_name}")
client.close

答案 1 :(得分:4)

mysql2可以工作,看看rails db:create etc附带的rake任务

编辑:

Rails rake任务创建/删除DB

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/railties/databases.rake