なんかgit cloneしたプロジェクトが・・・
git coloneしてきたプロジェクトのデータベースをmigrateしようとすると、うまく動作しない。
$ bundel exec rails db:migrate
/Users/naoya.ohsaki/.rbenv/versions/2.6.2/gemsets/finacial_analysis/gems/bootstrap-sass-3.4.1/lib/bootstrap-sass/version.rb:2: warning: already initialized constant Bootstrap::VERSION
/Users/naoya.ohsaki/.rbenv/versions/2.6.2/gemsets/finacial_analysis/gems/bootstrap-4.3.1/lib/bootstrap/version.rb:4: warning: previous definition of VERSION was here
/Users/naoya.ohsaki/.rbenv/versions/2.6.2/gemsets/finacial_analysis/gems/bootstrap-sass-3.4.1/lib/bootstrap-sass/version.rb:3: warning: already initialized constant Bootstrap::BOOTSTRAP_SHA
/Users/naoya.ohsaki/.rbenv/versions/2.6.2/gemsets/finacial_analysis/gems/bootstrap-4.3.1/lib/bootstrap/version.rb:5: warning: previous definition of BOOTSTRAP_SHA was here
rails aborted!
NoMethodError: Cannot load database configuration:
undefined method `[]' for nil:NilClass
(erb):53:in `<main>'
・
・
・
railsのエラーっていうのはものすごいファイルパスが出てくるから疲れますよね。早くエラーが出ないように扱い慣れていきたいもんです。
解決策。というか、今回の落ち
本来あるはずのファイルが無い
secrets.ymlが無い。
secrets.ymlとは
configフォルダ内に新しくsecrets.ymlファイルが生成されます。デフォルトでは、このファイルにはアプリケーションのsecret_key_baseが含まれていますが、外部API用のアクセスキーなどの秘密キーもここに保存できます。
credentials.yml.encとmaster.key
ということなのだが、rails5ではこのファイルに成り代わり、rails newをすると、credenticial.yml.encとmaster.keyって奴ができるということなので、こいつを作ってやればいい。
$ EDITOR="vi" bin/rails credentials:edit
editコマンド使ってるから、もともとファイルが作られてること前提で使われるものだと思っていましたが、ファイルがない場合にこいつを使うと、新しく生成されます。vimが立ち上がるはずなので、何もせずに:wqで作業は完了です。
そうすれば、migrateできるようになりました。