Как работать с условиями xor, rails, foreign keys и sqlite базой данных?

Что я хочу, так это построить это как-то с Rails 3.1: UML

Если A установил id для b_id, то не должно быть возможности установить id для c_id. И наверняка наоборот.

Хотелось бы сделать на уровне базы данных из миграции (check constraint?). Это как-то возможно? Или доступнее сделать это в модели с валидацией?

Мое окружение:

  • Ruby 1.9.3
  • Rails 3.1.3
  • SQLite 3.7.3
6
задан Thong Kuah 3 January 2012 в 07:34
поделиться