有没有办法从ruby脚本中删除并重新创建数据库?我应该使用哪种gem(dbi,mysql2)?
使用DBI我遇到的问题是,当数据库尚未创建时,我无法连接到MySQL服务器。
谢谢
答案 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