2011-05-18 13 views
0

我正在開發一個小型的Ruby應用程序,我想與PostgreSQL和MySQL一起工作。如何使用Ruby的DBI創建數據庫?

看來Ruby/DBI是最直接的方法;我不想安裝像ActiveRecord之類的重量級的ORM。不幸的是,如果你已經有一個數據庫,Ruby/DBI似乎很容易連接,但我不知道如何連接到沒有數據庫的服務器併發出CREATE DATABASE命令。

到目前爲止,我有這樣的:

dbh = DBI.connect("DBI::Pg", "username", "password") 

但是當我嘗試連接我得到這個錯誤:Invalid Data Source Name。任何想法我可以做什麼?另外,如果我可以得到一個「無數據庫句柄」,我想知道是否有一個到select_db的DBI方法,並放入數據庫執行進一步的查詢。這是次要的,但我可以沒有它。

+0

由於同樣的原因使用了DBI,並且在MySQL庫中遇到了很多麻煩,並且通常需要編寫太多代碼才能完成任務,所以我建議使用[Sequel](http://sequel.rubyforge)。 org /)遠遠更容易和更好的IMO。 – iain 2011-05-19 01:39:05

回答

1

你應該有一個postgres數據庫,所以你可以嘗試:

dbh = DBI.connect('dbi:Pg:postgres', 'username', 'password') 

然後從那裏執行你的CREATE DATABASE。此外,爲connect的第一個參數應該是:

dbi:Driver:database_conn_args

哪裏Driver是數據庫驅動程序(區分大小寫),database_conn_args通常是數據庫名稱。

+0

聰明,完全有效。萬分感謝! – wickedchicken 2011-05-18 00:48:13

相關問題