В настоящее время у меня есть таблица units
со следующими столбцами:
id
: PRIMARY Integer name
: String serial_id
: Строка - . , .
А также таблица statuses
. Данные этого блока отправляются на сервер с нашего сервера. Таблица statuses
имеет следующие столбцы:
id
: ПЕРВИЧНОЕ целое число internal_temp
: Плавающее battery_level
: целое число unit_id
: ИНОСТРАННЫЙ КЛЮЧ Целое число serial_id
: Строка - ...
В настоящее время я хочу void
из старых блоков, чтобы я мог сохранить новые units
с дубликатами / одинаковыми serial_id
. Однако я все еще хочу сохранить отношения, которые аннулированы units
и statuses
и поддерживать отношения / данные организованным, масштабируемым образом.
Моей первой идеей было просто добавить is_void
в таблицу units
и затем сделать что-то вроде:
Unit.where(serial_id: serial).find_by_is_void(false).statuses
но я не уверен если это будет хорошо масштабироваться. В настоящее время unit
делает почти 2000 status
записей в день.
Я думал о создании таблицы соединений, которая могла бы управлять отношениями между unit
и status
, но я не был уверен и хотел обратиться за советом.