Я хочу создать уникальный номер счета для каждой команды.
Я хочу, чтобы он автоматически генерировался базой данных postgresql.
Я посмотрел документацию по созданию последовательностей в документах postgresql. Однако я не мог выяснить, как я могу указать, что числа должны быть уникальными на уровне team_id в таблице.
Не уверен, возможно ли это вообще.
В настоящее время я создаю следующий номер с помощью кода, подобного этому
team.invoices.maximum(:invoice_number).to_i +
Чтобы справиться с параллелизмом, я создал уникальный индекс для таблицы счетов (team_id, invoice_number). Это предотвратит создание дублирующих номеров на командном уровне.
Но я хотел, чтобы это было сгенерировано из самого postgresql.