第2章の実績
第2章 Toyアプリケーション を実施しました!
実施時間: 1.5時間
学べたこと
- 簡単にRESTアプリケーションの作成方法
- scaffoldの強力さ!
- データモデル、関連性や制約の定義が簡単にできる。
関連性:あるモデルに属する、複数のモデルをもつといったことを直感的に定義出来る。
制約:必須入力や、文字数制限を簡単に記述出来る。 - DBの生成もコマンド(rails db:migrate)を一つ流すだけで出来てしまう。
- データモデル、関連性や制約の定義が簡単にできる。
単純な例ではありましたが、非常に簡単にCRUD定義が出来るscaffoldはとても強力なツールだと感じました。これが標準でrailsに含まれているのは大変便利!
独自にやったこと
Heroku環境で、「rails db:migrate」を自動で流れるようにした
経緯
Herokuというクラウド環境(チュートリアル上では擬似的に本番環境として扱っている)にアプリケーションをデプロイしています。今回作成したアプリを動かすためには、DBを生成するための「rails db:migrate」というコマンドを実行する必要がありますが、それを一々叩くのは忘れがちですし、なにより面倒です。
そこで、Herokuにプレインストールされている”foreman”というツールの機能を用いて、自動でこのコマンドを実行させるようにしました。
手順
以下のProcfileというファイルをプッシュしましょう。やることはこれだけです!
格納先はルートディレクトリ(リポジトリの最上位)、
ファイル名はProcfile、
記述するコマンドの形式は、(プロトコル名称): (実行したいコマンド)
です。
左側は任意の名前でいいそうです(ただし、”web”という名前だけは特別な意味を持つそうなのでそれ意外で)。私は上記の通り、releaseという名前にしました。
右側が実行したいコマンドで、今回の場合では「rails db:migrate」です。(※もしrailsのバージョン4以前の場合は、このコマンドを「bundle exec rake db:migrate」とする必要があります)
このファイルを置いておくだけで、Herokuにデプロイするだけで、同時にDBのmigrateも自動で行われます。
参考
環境
- ruby: 2.3.3
- ruby on rails: 5.1.4
- OS: Windows 10 (64bit)
- IDE: IntelliJ ULTIMATE 2018.1
- リポジトリ: GitHub
リンク
【スポンサードリンク】