把隊友的專案clone下來,為什麼沒辦法啟動Rails Server了?-應該是因為database換成PostgreSQL了吧

開始跑專案以後,我才學會的事

中場休息
Dec 20, 2020

在AstroCamp分組、確定要做的網站之後,大家開始要rails new出專案,並且開始實際跑團隊協作了。
因為後面會用到Heroku的服務,所以我們這組在一開始就決定把Database設為pg。然後新手會遇到問題就來了😊

rails db:create

之前上課練習的專案都還在用Rails給的sqlite,一般clone或下載了新的專案下來,只要跑rails db:migrate就可以,sqlite可以只做到這步。
但PostgreSQL不是sqlite。
你得先下指令

$ rails db:create

同學的文章裡有提到這一步,在安裝PostgreSQL的時候,也是這指令和先前的sqlite有所區別。
如果database是使用MySQL,也是要先create起來。

是說,剛clone下來的專案才要做 rails db:create 。
後續fetch專案分支進度以後,已經有 schemaseed,可以試下指令:

$ rails db:setup

學長的文章,其效果等於 db:create + db:schema:load + db:seed

然後再跑sqlite也要做的

$ rails db:migrate

PG::ConnectionBad

班上有同學(也是用Macbook)在做 rails db:create 時遇到了 PG::ConnectionBad 的問題,但我沒辦法在這部份加入文章,因為我的Macbook沒遇到這問題,所以只能先簡單找個文章備註一下。

References

Sqlite vs. MySQL vs. PostgreSQL: A Comparison of Relational Databases
Changing sqlite to PostgreSQL in ruby on rails
我想要把 rails 的內建資料庫改成postgreSQL
在 Rails 專案安裝 PostgreSQL

--

--

中場休息

休息是為了走更長遠的路,把簡單的成長養成一種放鬆習慣,那豈不一舉兩得?