如果 rails 開發環境要用其他資料庫的話

在開發的時候,rails 預設使用 sqlite 資料庫作為開發環境。不過要公諸於世的網站,不會用 sqlite 資料庫運作。用什麼呢?這就必須要看雲端供應商(如果要用供應商的 IaaS 的話)、或是自己的偏好(如果要用供應商的 PaaS,或是自己架主機的話)。

無論如何,如果需要在開發環境改用其他資料庫、而不是使用 sqlite 資料庫的話,一點步驟的小指引:

  1. 首先請決定要用什麼資料庫:這裡用的 MariaDB 是 MySQL 的分支。
  2. 下載該資料庫,並設定需要的帳號密碼。每個資料庫的用法不同。MariaDB 的話,照著這篇 StartGuide 做。
  3. 設定完成後記下帳號密碼,然後翻翻看 rails 支援哪些資料庫:-d, \[--database=DATABASE\] # Preconfigure for selected database (options: mysql/postgresql/sqlite3/oracle/frontbase/ibm\_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
  4. 主流的 mysql, postgresql, sqlserver 都有......我覺得應該夠用了啦。
  5. 輸入 rails -d mysql。請記住 MariaDB 是 MySQL 的分支。
  6. 去檢查 config/database.yml 的說明,它在最前面應該有說明需要安裝的驅動程式。再去 Gemfile 檔案搜尋,應該是有安裝到的。
  7. 把前面記下來的帳號密碼寫在 config/database.yml 的 username 與 password 裡面。
  8. 檢查一下 database 以確認即將建立的資料庫。
  9. 輸入 rake db:create !輸入 rake db:create !輸入 rake db:create 因為很重要所以要說三次。沒有輸入,資料庫根本不存在。
  10. 撰寫一下自己的的 CRUD。懶得撰寫只要測試的話,參考一下 RailsBridge 的指引:rails generate scaffold drink name:string temperature:integer
  11. 收工!