我有一个用于开发票的 SaaS 宠物项目。在其中,我希望我的客户每个都从票号 1001 开始。显然,我不能在 Postgres 中使用简单的自动字段,只需将值添加 1000,因为我所有的客户都将共享同一个数据库和同一个tickets
表。 . 我尝试使用整数列类型和查询(伪 SQL)SELECT LATEST number FROM tickets WHERE client_id = [current client ID]
来获取最新的数字,然后使用该数字+ 1
来获取下一个number
. 问题在于,在并发的情况下,两张票很容易以这种方式以相同的数字结尾。我需要能够在 Django 中或使用原始 SQL 中执行此操作的数字(与使用 Bash 或其他任何类型的相比)。
我不是在寻找一种方法来强迫我的例子起作用。我只是在寻找一个解决方案来解决我需要为每个客户独立增加票号的问题。