【发布时间】:2015-03-30 15:31:56
【问题描述】:
我有一个简单的数据库模式,其中包含 5 个表和一些外键关系。现在我想在不丢失关系的情况下更新架构。
SQLite 不支持我要执行的操作。我想标记一列AUTOINCREMENT。所以我搜索并发现我需要重新创建表。
在所有关系中,外键是自动生成的行 ID。当我重新插入数据时,这会改变(对吗?)。最好的情况是关系不匹配。最坏的情况(我认为)将是外键不对应任何内容。我该如何避免这种情况?
我能想到的一种方法是将所有数据转储到专为此练习而设计的特殊模型中。这个特殊的模型将封装所有的关系。然后我可以开始按照从小到大的依赖关系升序创建新表。没有外键的表(但其他表使用它的 ID)首先进入。在插入行时,我更新了模型实例。
有没有更好的方法来做到这一点?感谢您的阅读。
【问题讨论】: