database.yml 要注意的地方
今天遇到一個網友的一個小問題
當他在 ruby script/generate model abc 時
出現了這個 error
看到這個問題,心中不自覺想到是 database.yml 設定問題
但是我發現到
Rails 根本就不管有沒有這個 database ,他都會 generate 這個 model file
或是給錯誤的帳號密碼設定,他依舊會沒 error 的 generate 這個 model file
也就是,他不會真的去 connect database 去查真的有沒有這個 table
所以不是這個問題
那到底是那裡的問題呢?
我發現到將
改成
就會出現這個 error
也就是說,Rails 雖然不會 connect database
但是 generator 會先去查是不是有這個config
我就請他 show 一下 database.yml
發現到他是這樣的
其實大家可能對 YAML 不太了解
YAML 是靠縮排跟 : 來代表結構的 ( 有點像 python )
縮排的 element 就是上面的 element 的 sub element
這告訴我們在 YAML 裡面,請注意縮排
當他在 ruby script/generate model abc 時
出現了這個 error
in `establish_connection': development database is not configured (ActiveRecord::AdapterNotSpecified)
看到這個問題,心中不自覺想到是 database.yml 設定問題
但是我發現到
Rails 根本就不管有沒有這個 database ,他都會 generate 這個 model file
或是給錯誤的帳號密碼設定,他依舊會沒 error 的 generate 這個 model file
也就是,他不會真的去 connect database 去查真的有沒有這個 table
所以不是這個問題
那到底是那裡的問題呢?
我發現到將
development:
___adapter: mysql
___database:
___username: root
___password:
___host: localhost
改成
developmentlalal:
___adapter: mysql
___database:
___username: root
___password:
___host: localhost
就會出現這個 error
也就是說,Rails 雖然不會 connect database
但是 generator 會先去查是不是有這個config
我就請他 show 一下 database.yml
發現到他是這樣的
development:答案揭曉,YAML檔案沒有縮排
adapter: mysql
database:
username: root
password:
host: localhost
其實大家可能對 YAML 不太了解
YAML 是靠縮排跟 : 來代表結構的 ( 有點像 python )
縮排的 element 就是上面的 element 的 sub element
這告訴我們在 YAML 裡面,請注意縮排
沒有留言:
張貼留言