我希望在表orders
中创建一个名为id_visual
的字段,该字段从1开始并自动递增。我可以在我的模型中创建一个方法来做到这一点,但我认为必须有一个更好、更简单的方法。有什么想法吗?
据我所知,您想要一个基于主id的辅助id吗?标识密钥只能基于表,不能依赖于其他密钥。您必须在代码中执行此操作,然后将其保存到before_create上的一个新字段中。最简单的方法是,对于你想要识别的每个订单,根据主键是什么,获得小于或等于你正在处理的订单的所有订单的计数。这是一个简单的单查询计算。
这是数据库应该在某个级别提供的东西,无论是在事务中还是在其他锁定中。
看看这个问题,了解一些将postgres配置为自动递增列的方法:
PostgreSQL自动递增