我们有一个非常古老且庞大的数据库,其中包含表 X ,几乎可以在任何地方使用。假设该表用于功能 A 。
我们正在向系统添加一项新功能,该功能必须以新方式使用表 X 。让我们将其命名为功能 B 。
因此,基本上,新功能( B )的新行必须与现有行( A )不同。
主要思想是向表 X 添加新的布尔列,该列默认为FALSE
,新功能为TRUE
。但是在整个系统中更改SELECT
和UPDATE
查询以添加WHERE new_bool_column = FALSE
条件以支持旧功能 A 的前景使我们感到沮丧。
PostgreSQL中是否有任何方法可以避免这种繁重的工作并使系统通过在某个地方设置一些特殊参数来为我们做这件事?您是否还有其他想法可以简化或完全不同?
(尽管我们要添加一个具有相同名称的视图(并重命名表 X ),但这仅对SELECT
查询有用)
感谢前进。