Я разрабатываю небольшое приложение, чтобы изучить Ruby on Rails, который будет (надеюсь) показывать тенденции сетевого трафика. Поскольку данные, которые я использую, довольно велики (100 миллионов строк), у нас есть три таблицы, которые суммируют данные по часам, по дням и месяцам. Мне любопытно, подходит ли подход к созданию трех моделей, по одному для каждого типа данных, несмотря на их сходство. Похоже, я склоняюсь к пониманию, что в конечном итоге мне придется сделать рефакторинг, чтобы помочь устранить дублирующее кодирование. Любопытно, есть ли какие-либо другие подходы, которые можно было бы предложить?Несколько моделей для аналогичных данных типа
1
A
ответ
0
Вы можете использовать STI (однонаправленное наследование). Прочтите How (and When) to Use Single Table Inheritance in Rails для более подробной информации.
из статьи:
STI следует учитывать при работе с модельными классами, которые разделяют большую часть тех же функциональных возможностей и полей данных, но вы, как разработчик может потребоваться более детальный контроль над удлинении или добавляя к каждому класса индивидуально. Вместо того, чтобы дублировать код снова и снова для нескольких таблиц (и не быть DRY) или отказаться от гибкости добавления уникальной функциональности или методов, STI позволяет использовать ваши данные в одной таблице при написании специализированных функций.
Смежные вопросы
- 1. Django URL отображения для аналогичных моделей
- 2. Используя одну форму для двух аналогичных моделей
- 3. Наследование аналогичных моделей с различными колонками DB
- 4. Структура представлений-моделей в качестве основы для аналогичных приложений
- 5. Завершение: несколько аналогичных опций
- 6. MVC - несколько моделей данных 1
- 7. Entity Framework несколько моделей данных
- 8. Несколько моделей данных с MagicalRecord
- 9. См аналогичных связанных моделей с общим названием
- 10. Несколько моделей для json
- 11. Упростите несколько функций для аналогичных элементов
- 12. Несколько моделей
- 13. Несколько моделей в Myrrix
- 14. Несколько раскрывающихся списков, несколько моделей
- 15. GetHashCode для аналогичных значений
- 16. Как определить несколько аналогичных директив?
- 17. Нокаут несколько моделей моделей - undefined
- 18. Cakephp - несколько моделей для одной таблицы
- 19. Нормализованная или денормализованная база данных для аналогичных данных
- 20. Несколько моделей данных в приложении AngularJS?
- 21. Несколько моделей in passport.js
- 22. Несколько линейных моделей
- 23. Подобные цвета для аналогичных данных в ggplot2
- 24. цикл над наборами данных для аналогичных элементов
- 25. Несколько моделей моделей и основанных на разрешении
- 26. Контроллер, использующий несколько моделей?
- 27. Несколько моделей в представлении
- 28. Выбор структуры коллекций MongoDB для аналогичных структур данных
- 29. Запрашивание несколько моделей подобных данных в CakePHP
- 30. SSAS Tabular - несколько моделей?
Интересно, спасибо за ссылку. Мне любопытно, есть ли альтернативы сбору всех данных в одной таблице по мере того, как излагается метод ИППП. Базовая база данных будет реплицироваться с основной БД, что может привести к некоторой дополнительной работе на стороне БД. – Andrew
@ Андрей может объяснить дополнительную работу для ИППП, а не для независимых моделей? – rubish
Таблицы, на которых основаны модели, реплицируются из другой, основной базы данных. Использование STI, похоже, хочет консолидировать все данные в одной главной таблице с помощью столбца TYPE, чтобы различать типы. Мне пришлось бы реплицировать данные, а затем объединить их в одну таблицу. – Andrew