質問: Rails を今日から勉強し始めました MySQL に memo というテーブルがあったときに Rails で一覧画面と詳細、更新画面をつけて web UIから更新できるようにしたいなと思ってます ``` rails g model memo ``` ってやるとなんかいろいろファイルが作られて ``` rails s -b 0.0.0.0 ``` をやったときに ``` ActiveRecord::PendingMigrationError ( Migrations are pending. To resolve this issue, run: rails db:migrate RAILS_ENV=development ): ``` というエラーが出るようになりました エラーの意味がよくわからないのですがこれはどういうエラーなのでしょうか
回答: 未実行のマイグレーションが残ってるのでマイグレーションを実行してくださいっていうエラーです 普通ならそこに書いてる ``` rails db:migrate RAILS_ENV=development ``` を実行すれば解決すると思いますが マイグレーションというのは db/migrate/ 以下にあるファイルのことで Railsで使うモデルのテーブルを定義すれば勝手に管理してくれます rails g model を行うと勝手にテンプレートを作ってくれるものなのですが Rails 外や手動でテーブルを作成した場合はマイグレーションは不要なので消してしまっていいです ただし Rails のデフォルトの複数形テーブル名、PK が id, timestamp カラムでないと 色々宣言が必要で慣れてないとハマりどころになるので 大きな理由がない限りはマイグレーションでテーブル作成することをお勧めします