Итак, читая эту документацию Ecto и эту запись это выглядит так:
- И
has_many :some_schema_name, through: [...]
, и many_to_many
поддерживаются отдельным соединением table - Единственное различие между ними состоит в том, что вы можете добавить дополнительные столбцы в «третью таблицу соединений», чего нельзя сделать с таблицей соединений many_to_many.
Есть ли Есть ли другие различия как в идиомах использования, так и в том, как данные моделируются / поддерживаются базой данных? Кажется, что вы почти всегда предпочитаете использовать отношение has_many through, если вы хотите гибко добавлять столбцы (или метаданные) в объединяющую таблицу.