2010-11-04 24 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

相關問題