2010-11-04 25 views
2

在运行时Rails/AR中有创建新的mysql数据库的方法吗?在运行时编程创建MySQL数据库

+1

您的意思是创建*数据库,或者创建数据库,以创建应用程序与主应用程序一起使用的其他数据库? – tadman 2010-11-04 04:01:43

+0

我期待能够创建多个数据库,每个客户一个应用程序将足够聪明,连接到正确的数据库根据用户身份验证。 – 2010-11-04 13:09:58

回答

1

的快速和肮脏的答案是:

  1. 确保您的应用正在连接的MySQL用户可以创建数据库。

  2. 使用SQL语句创建数据库:

    的ActiveRecord :: Base.connection.execute( 'CREATE DATABASE IF NOT EXISTS new_database');

为了简单起见,我建议不要为此使用ActiveRecord。 AR实际上是设计用于预先配置的数据库,即使您可以创建数据库,但您真正遇到的问题是试图连接并使用这些数据库。

你可能会使用布赖恩·洛佩兹的mysql2宝石(除AR为您的应用程序的主DB)会更好:

https://github.com/brianmario/mysql2

除了是相当快的和现代的,它的API是一个容易得多与原始的mysql库(这是AR在底层使用的,包括connection.execute)一起工作。

2

我建议什么是只能由指定的用户准备了独立的脚本读取和导轨和system命令与数据库名执行它parammeter

相关问题