terminal
Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'tagtweet_development.tweets' doesn't exist
/Users/maedatakuo/projects/tagtweet/db/migrate/20210522115800_create_tweet_tag_relations.rb:3:in `change'
/Users/maedatakuo/projects/tagtweet/bin/rails:9:in `<top (required)>'
/Users/maedatakuo/projects/tagtweet/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
原因:
ActiveRecord :: StatementInvalid:Mysql2 :: Error:テーブル 'tagtweet_development.tweets'は存在しません
・・・・・
どうやらテーブルを探しに行っているようです。
結論
外部キーばかりで作られたテービルを先に作ってしまっていました。
外部キーを含んだテーブルは後に作らないと連携の関係があるのでどうやら外部キー先のテーブルを参照するように作成されるようです。
マイグレーションの最初の番号を入れ替えると
以下のようにうまく作成できました。
terminal
== 20210522115800 CreateTags: migrating =======================================
-- create_table(:tags)
-> 0.0824s
== 20210522115800 CreateTags: migrated (0.0827s) ==============================
== 20210522115853 CreateTweets: migrating =====================================
-- create_table(:tweets)
-> 0.0908s
== 20210522115853 CreateTweets: migrated (0.0914s) ============================
== 20210522120027 CreateTweetTagRelations: migrating ==========================
-- create_table(:tweet_tag_relations)
-> 0.0808s
== 20210522120027 CreateTweetTagRelations: migrated (0.0814s) =================