我正在构建一个使用 ActiveRecord 的非 Rails 纯 ruby 应用程序。我想写一个 rake 文件,为它创建一个数据库和表。我试试下面的代码
namespace :db do
task :create do
conn = ActiveRecord::Base.connection
create_db = "CREATE DATABASE foo_dev"
conn.execute(create_db)
end
end
但这给了我
ActiveRecord::ConnectionNotEstablished: ActiveRecord::ConnectionNotEstablished
错误。嗯,这很明显,因为我没有将 ActiveRecord 连接到任何数据库。
我该怎么办?
编辑:我想创建一个 MySQL 数据库。
最佳答案
建立连接,比如:
ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:database => './your_db.db'
)
对于 sqlite,如果数据库(文件)不存在,则会创建它。然后执行迁移以创建表。
基于之前的问题 Can ActiveRecord create tables outside of a migration?
关于ruby-on-rails - 如何在非 Rails 应用程序中使用 ActiveRecord 创建新的 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161229/