Как правильно вручную упорядочить столбец в Postgres?

У меня есть дочерний проект SaaS для выставление счетов. В нем я хочу, чтобы каждый мой клиент начинал с номера тикета 1001. Понятно, что я не могу использовать простое автоматическое поле в Postgres и просто добавить 1000 к значению, потому что все мои клиенты будут совместно использовать одну и ту же базу данных и один и тот же tickettable.. Я пытался использовать столбец типа integer и выполнять запросы (псевдо SQL) SELECT LATEST number FROM ticket WHERE client_id = [current client ID], чтобы получить последний номер, а затем используя это число + 1, чтобы получить следующее число. Проблема в том, что при параллелизме два билета могут заканчиваться одним и тем же номером. число, которое мне нужно, чтобы иметь возможность сделать это в Django или с необработанным SQL (по сравнению с использованием Bash или чего-либо еще в этом роде).

Я не ищу способ заставить мой пример работать. Я просто ищу решение моей проблемы, связанной с необходимостью независимого увеличения номеров билетов для каждого клиента.

5
задан orokusaki 18 April 2012 в 13:55
поделиться