railsでmigrationを行っても外部キーが追加されない
railsでmigrationを行ってもschema.rbに外部キーが作られた形跡が見られません。
*前提
現在railsでTwitterライクなアプリケーションを作っておりまして、ユーザーは複数の投稿をするという機能を実装しています。
*分からない箇所
migrationファイルで外部キーの設定をしてもschema.rbに反映されていないことに詰まっています。
本来ならschema.rbの一番下に外部キー一覧が表示されると思うのですが、私のファイルはされていません。
*対象のファイル
db/migration/create_users.rb
class CreateUsers < ActiveRecord::Migration[5.2]
def change
create_table :users do |t|
t.string :name
t.string :email
t.integer :age
t.timestamps
end
end
end
db/migration/create_posts.rb
class CreatePosts < ActiveRecord::Migration[5.2]
def change
create_table :posts do |t|
t.text :content, null: false
t.references :user, foreign_key: true
t.string :image, null: false
t.timestamps
end
add_index :posts, [:user_id, :created_at]
end
end
db/schema.rb
ActiveRecord::Schema.define(version: 2019_08_17_020505) do
create_table "posts", force: :cascade do |t|
t.text "content", null: false
t.integer "user_id", null: false
t.string "image"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["user_id", "created_at"], name: "index_posts_on_user_id_and_created_at"
t.index ["user_id"], name: "index_posts_on_user_id"
end
create_table "users", force: :cascade do |t|
t.string "name", null: false
t.string "email", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "password_digest", null: false
t.string "intro", null: false
t.boolean "admin", default: false
t.string "image"
end
end
*試したこと
追加で以下のようなmigrationファイルを作成してmigrateしましたが、結果は変わりませんでした。
class AddUserRefToPost < ActiveRecord::Migration[5.2]
def change
add_foreign_key :posts, :users
end
end
*環境
rails 5.2
以上、もし分かる方いらっしゃいましたら、ご回答よろしくお願いします。