我不知道如何问这个问题,所以如果我没有使用适当的术语等,请指引我正确的方向,但我可以解释我目前在做什么。我想知道是否有比我目前使用的方法更简单的方法来更新数据库中的内容。(我正在使用 SQL Server 2008 顺便说一句。)
我有一堆 CSV 文件,我用来提供给我的客户,作为更新导入数据库的内容的一种方式(因为内容很大)。导入通过运行我编写的 python 脚本来工作,该脚本使用 Jinja2 模板,该模板生成将 CSV 内容插入数据库所需的 SQL 文件(如果它是从头开始的场景)。这工作正常。现在谈到数据迁移(我需要将数据库中存在的数据迁移到新版本)我有很多手动工作(我在模板中手动编码,没有SQL命令或自动生成我可以运行来为我执行此操作的代码)来执行。
假设我有一个 CSV 文件中的医院列表,并且我已经在数据库中有一组医院(从 CSV 文件的先前版本导入)。我创建了 Hospitals 表的副本(没有数据)并将其命名为 HospitalsTemp。新的 CSV 医院被插入到 HospitalsTemp 表中(至少该部分是通过模板生成的)。Hospitals 表现在与它的所有外键和约束分离。现在我遍历医院周围的所有表格(再次手动!)并将指向旧医院 ID 的医院 ID 替换为新医院 ID(因为我可以根据医院代码从医院查找到医院临时以确保参照完整性被保留)。
我希望我解释得足够好,让每个人都能理解。我真的希望有一种更简单的方法来做到这一点。