61697


Rails を今日から勉強し始めました

MySQL に memo というテーブルがあったときに  
Rails で一覧画面と詳細、更新画面をつけて  
web UIから更新できるようにしたいなと思ってます

[code]

    rails g model memo
    
[/code]

ってやるとなんかいろいろファイルが作られて

[code]

    rails s -b 0.0.0.0
    
[/code]

をやったときに

[code]

    ActiveRecord::PendingMigrationError (
    
    Migrations are pending. To resolve this issue, run:
    
            rails db:migrate RAILS_ENV=development
    
    ):
    
[/code]

というエラーが出るようになりました

エラーの意味がよくわからないのですがこれはどういうエラーなのでしょうか


CC BY-SA 4.0
2019-12-22T16:35:24.470
61682
2020-01-10T20:42:45.797
2020-01-10T20:42:36.423
32986
question
ruby-on-rails
Rails で既存のテーブルをモデル化したい


未実行のマイグレーションが残ってるのでマイグレーションを実行してくださいっていうエラーです

普通ならそこに書いてる

[code]

    rails db:migrate RAILS_ENV=development
    
[/code]

を実行すれば解決すると思いますが

マイグレーションというのは db/migrate/ 以下にあるファイルのことで  
Railsで使うモデルのテーブルを定義すれば勝手に管理してくれます

rails g model を行うと勝手にテンプレートを作ってくれるものなのですが  
Rails 外や手動でテーブルを作成した場合はマイグレーションは不要なので消してしまっていいです

ただし Rails のデフォルトの複数形テーブル名、PK が id, timestamp カラムでないと  
色々宣言が必要で慣れてないとハマりどころになるので  
大きな理由がない限りはマイグレーションでテーブル作成することをお勧めします


CC BY-SA 4.0
2019-12-23T05:15:22.227
61697
2020-01-10T20:42:45.797
2020-01-10T20:42:45.797
32986
61682
answer