【发布时间】:2018-08-30 15:13:45
【问题描述】:
我想在我的表中有一个在外键范围内自动递增的列。
id | foreign_key_column | this_column_i_want
--------------------------------------------------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 2 | 1
5 | 2 | 2
6 | 3 | 1
这种模式是否可以通过 Rails 迁移实现?
考虑以下场景: 该表代表订单表。 如果此表存储来自多个商店的订单,则外键列将是 store_id。现在,不同的商店需要他们的发票在他们的范围内是连续的。早些时候,发票是全球连续的。
因此每个商店的发票编号必须从 1 开始,并根据为该特定商店创建的记录不断增加。
希望这有助于解释这个问题。
【问题讨论】:
-
您可以创建DB triggers in Postgres 来做几乎任何事情。 Rails 迁移中没有对此的内置支持,但可以在迁移中使用原始 SQL。
-
我认为这个gem 可以帮助你
-
@fongfan999 我认为您可以将其添加为答案。它完全解决了 OP 的问题。
-
@WayneConrad,非常感谢
标签: sql ruby-on-rails postgresql schema