hmhrpracticesテーブルに外部キーを追加するために下記のコードを書いているのですが、追加できません(rails dbconsoleで.shcemaを実行しても追加されません)。
何が悪いのかご教示いただけますと幸いでございます。
恐れ入りますが、ご確認のほどよろしくお願いいたします。
●外部キーを追加したい理由
掲示板を作っており、下記のような機能を実装したいため。
①異なるジャンルごとのページで、ユーザーが投稿を行う。
②各ジャンルでの投稿が、TOPページで「新着投稿」として一箇所でまとめて表示される。
●試したこと
migrateフォルダ内で下記の通り、
「add_reference :hmhrpractices, :practice, foreign_key: true」を入力しております。
migrate
1class CreateHmhrpractices < ActiveRecord::Migration[5.2] 2 def change 3 create_table :hmhrpractices do |t| 4 t.string :name 5 t.string :title 6 t.text :content 7 8 9 t.timestamps 10 end 11 add_reference :hmhrpractices, :practice, foreign_key: true 12 end 13end
model
1class Hmhrpractice < ApplicationRecord 2 belongs_to :practice 3 4 validates :name, presence: true 5 validates :title, presence: true 6 validates :content, presence: true 7end 8
model
1class Practice < ApplicationRecord 2 has_many :hmhrpractices, dependent: :destroy 3end 4
schema
1CREATE TABLE IF NOT EXISTS "practices" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "title" varchar, "content" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL); 2CREATE TABLE sqlite_sequence(name,seq); 3CREATE TABLE IF NOT EXISTS "hmhrpractices" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "title" varchar, "content" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL); 4 5↑ここのhmhrpracticesテーブルに、外部キーをつけて、practicesと連携させたいです。 6hmhrpracticesテーブルにユーザーが投稿を行うと、practicesテーブルにも反映されるという機能をつくりたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/27 23:23
2020/12/30 14:59