Skip to main content
search
0
Ruby&Rails

Rails database.ymlのインデントには気をつけようぜ

By 2023年9月21日9月 23rd, 2023No Comments

Railsを起動する際になぜかproduction環境がエラーになる。

「 database is not configured for the `production` environment.」

結論からいくとインデントがうまくそろっていなかったため、それを治したら正常にうごいた。

エラー文には読み込めないとだけでておりインデントが理由というのはでていなかったのでわかりにくかった。
本来はymlファイルはマークアップ言語ではなく

YAMLは再帰的に定義された頭字語であり “YAML Ain’t a Markup Language”(YAMLはマークアップ言語じゃない)の意味である。初期には “Yet Another Markup Language”(もうひとつ別のマークアップ言語)の意味と言われていたが、マークアップよりもデータ重視を目的としていたために後付されてできた名前である。

データ構造を表す意味でインデントが重要になる。

もともと知らなかったことに加えて、Pythonだとエラーでインデント関連をだしてくれることや勝手にRails内で扱っているものだからインデントがPythonやymlほど重要でないと思い込んでいたので気づくのに結構時間をくらった。

通常の使い方ならデフォルトを修正していくと特に問題ないはずだけれど今回テストとしてgem mysql2を使って、二つデーターベースを設定していたことでprimary:設定などインデントが必要だった。初期設定時にはわかっていたのだろうけど色々触ったあとほなこちらの環境にも適用しようとコピペしたつもりになっていたのがだめだった。

YAML文の理解を一つ深められら出来事としてメモ。