我的情况是,我们发布了一个新版本的软件,它将使用与旧版本不同的数据库(架构中的重大变化)。新旧系统都将投入生产将有相当长的一段时间,我们需要确保在两个数据库之间生成唯一 ID(我们不希望数据库 A 中有一行具有与数据库 B) 中的行相同的 ID。数据库是 Sybase。
我想出的可能的解决方案:
- 使用支持非常大的数字的数据类型并为每个数字分配一个范围,希望它们永远不会溢出。
- 对一个数据库使用负值,对另一个数据库使用正值。
- 添加一个标识数据库的附加列,并使用该列和当前 ID 的组合作为键。
- 哭。
我还能做什么?是否有更优雅的解决方案,以某种方式让两个数据库协同工作?我相信这两个数据库将在同一台服务器上,如果这很重要的话。