Рубин на рельсах не может создать физические отношения с моделями - PullRequest
0 голосов
/ 12 апреля 2019

Я не уверен, почему у меня нет физического внешнего ключа для моих отношений «1 ко многим». Заказ МНОГИЕ Комментарии. То же самое и с другими отношениями.

Модель:

class Order < ApplicationRecord
    has_many :invoices
    has_many :payments through => :invoices
    belongs_to :user
    has_many :comments
    has_many :options
    has_many :media through => :options
    has_many :auctions
    has_many :factmails
    belongs_to :orderstatus

end


class Comment < ApplicationRecord
    belongs_to :order

end

Миграция:

class CreateComments < ActiveRecord::Migration[5.2]
  def change
    create_table :comments do |t|
      t.text :content
      t.belongs_to :order, index: true
      t.timestamps
    end
  end
end

DDL:

CREATE TABLE public.comments (
    id int8 NOT NULL DEFAULT nextval('comments_id_seq'::regclass),
    content text NULL,
    created_at timestamp NOT NULL,
    updated_at timestamp NOT NULL,
    PRIMARY KEY (id)
)
WITH (
    OIDS=FALSE
) ;

Что я делаю не так? Какова правильная стратегия, когда вы сначала определяете модели, а затем хотите создать отношения между ними?

1 Ответ

0 голосов
/ 12 апреля 2019

Вы уверены, что не изменили файл миграции для добавления строки

t.belongs_to :order, index: true

после запуска команды rails db: migrate Если это так, вам нужно откатить миграции и повторно выполнить их

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...