Ilnar25
@Ilnar25

Как написать уникальность в базе данных на рельсах?

Имеем такую таблицу в schema.rb
create_table "menus_products", force: :cascade do |t|
    t.bigint "menu_id"
    t.bigint "product_id"
    t.index ["menu_id"], name: "index_menus_products_on_menu_id"
    t.index ["product_id"], name: "index_menus_products_on_product_id"
  end

Как написать для каждой записи уникальность(не путать уникальность для столбца) на уровне базы данных(postgresql). Желательно чтоб запись был виден в миграциях(добавление уникальности в таблицу или создание новой с уникальностями, разницы нет), а не команды для терминала psql(возможно ли это?). Модели MenusProduct нет, только соединительная таблица. Вообще, как правильно поступить?
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@lebron32rus
Senior Software Engineer
Создайте составной уникальный индекс
add_index :menus_products, %i[menu_id product_id], unique: true
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы