2013-03-25 59 views
12

我真的是Ruby on Rails的新手。我讀過this tutorial,聽起來很簡單。如何在Ruby on Rails中連接到MySQL?

但我怎樣才能連接到我的數據庫(MySQL)或Rails使用什麼?在php我會用...

mysql_connect("...","...","..."); 
mysql_select_db("..."); 

我已經搜索谷歌,找不到任何有用的提示。

回答

14

您不必手動做的那些事,看看這個:http://guides.rubyonrails.org/configuring.html#configuring-a-database

+0

好吧,我習慣於使用phpmyadmin,所以我什麼時候可以訪問phpmyadmin?我怎麼知道我的密碼是什麼?在database.yml中? – jesper 2013-03-25 11:25:22

+1

那麼,當你創建自己的數據庫,你配置了憑據,對吧?如果你沒有自己創建它,你應該問db管理員。 沒有默認的替代phpmyadmin,有一些引擎/寶石迷你的行爲,雖然:http://stackoverflow.com/questions/8554676/is-there-a-phpmyadmin-for-ruby-on-rails 我不使用它,但我更喜歡mysql cmd行,或者當你在Mac上:Sequel Pro – Stobbej 2013-03-25 11:27:21

22

看一看到配置文件config/database.yml

你需要設置你的配置存在。這裏是生產環境的例子:

production: 
    adapter: mysql2 
    encoding: utf8 
    database: example 
    pool: 10 
    username: example 
    password: secure 
    socket: /var/run/mysqld/mysqld.sock 
    reconnect: true 

此外,你必須在你的Gemfile添加gem 'mysql2'和運行bundle install

+0

好吧,我當前的數據庫是「db/development.sqlite3」。我可以使用它,但是我怎樣才能像在phpmyadmin中那樣創建表格?有沒有一些行政管理面板? – jesper 2013-03-25 11:42:36

+0

您希望通過遷移來完成。當您使用'rails generate model xyz name:string xyz:string'時,生成器腳本會自動爲您生成一個遷移。你可以用'rake db:migrate'開始遷移。查看http://xyzpub.com/en/ruby-on-rails/3.2/activerecord_datenbank_anlegen.html瞭解詳細步驟。 – wintermeyer 2013-03-25 11:47:08

+0

好吧,我已經完成了rake db:migrate,但是......下一步呢?我如何創建表? – jesper 2013-03-25 12:46:59

5

內容我config/database.yml文件:

# Ensure the MySQL gem is defined in your Gemfile 
# gem 'mysql2' 
# 
# Install MySql gem if not already there. 
# Below command installs some pre-requisites for the installation: 
# sudo apt-get install libmysqlclient-dev mysql-client 
# After above, this to finish gem installation: 
# gem install mysql2 
# 
# And be sure to use new-style password hashing: 
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html 

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: YOUR_DATABASE_HERE 
    pool: 5 
    username: root 
    password: root 

由於配置上面的評論說,你可能需要通過終端首先安裝mysql2寶石。安裝完成後,執行bundle installrake db:migrate,然後可以通過phpmyadmin訪問數據庫。

我在一個小時前偶然發現了這個問題,這個問題問了兩年多了。雖然我知道這是非常晚的,並且OP肯定已經解決了這個問題,但爲了像我這樣的可能會來這裏尋求解決方案的初學者用戶,我想到了在這裏寫我的解決方案。希望能幫助到你。