我一直致力于一个数据密集型应用程序,它有大约250个表。最近需要进行一些设计更改。一些设计更改需要添加新表,并以1-N方式将这些表与现有表(foregin键)相关联,以实现父子关系(在ORM中)。
举个例子。目前的设计允许每个合同一个租赁车辆。新设计要求同一合同中的多个车辆具有多种费率。
因此,现在需要将一个表中的数据放入另外两个表中。
我已完成对架构的更改,但我无法将这些更改部署到测试环境,直到找到转换现有数据并将其置于新设计格式的方法。
我目前的流程。
我唯一的问题是我不习惯在SQL中做第2部分。我希望利用ORM和.Net的强大功能,为比这个例子更复杂的场景做更多智能和复杂的任务
我是否可以使用ADO.Net或ORM为第2步编写数据迁移?
最佳做法或流程是什么?我做错了吗?
答案 0 :(得分:0)
我最终使用了FluentMigrator https://github.com/schambers/fluentmigrator
它允许我像迁移一样执行实体框架(参见:Ruby On Rails Active Records迁移)
大多数DDL都可以用流畅的格式用.NET编写。它支持事务中包含的UP和DOWN迁移,甚至支持用于数据迁移的完整SQL脚本。
关于它的最好的事情是所有的迁移脚本都可以放在源代码管理中,甚至可以进行测试。