java - 如何将旧数据转换到新系统?使用 sql 或托管代码?

标签 java .net import domain-driven-design

假设一家公司正在构建一个全新的应用程序。该应用程序遵循 DDD 原则。 旧代码库中有很多产品(或公司的另一个“实体”)要转换为新代码库。

这项工作应该如何完成?通常使用例如 ssis 导入更快更容易,从一个数据库传输到另一个数据库。但这里的主要问题是跳过了很多 BusinessRules(在 DomainLayer 的托管代码中实现)...... 如果开发者说:“我控制了它。规则被复制为 sql 脚本……”,这是否足够好?

我们是否应该将托管代码库导入 SQL Server(至少这在 .NET 和 MS SQL Server 中是可能的)? 或者我们是否应该在托管代码中创建一个导入脚本,以便在将实体保存在数据库中时遍历域中的所有层?...(可能需要很多小时...)

你有什么想法?

最佳答案

我建议您在 .NET 中编写一些导入应用程序,您可以在其中应用业务规则。由于此任务(至少我认为如此)只会运行一次(或两次;))速度并不那么重要 - 为了加快它的速度 - 将其设计为多线程 - 如果可能的话。

不,这还不够好——如果有人说“我控制住了它”——这是一句嗡嗡声,我所有的警钟都响了。一些细节总是会被遗忘,这主要是一场小灾难;)

关于java - 如何将旧数据转换到新系统?使用 sql 或托管代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/581868/

相关文章:

c# - 在 Windows 上查找用于打开特定文件类型的默认应用程序

Scala 委托(delegate)导入隐式转换

gradle - 如何修复未解析的引用 : Gson?

java - 如何在android中将毫秒转换为日期格式?

java - 在项目资源管理器中选择文件时,编辑器不会变为 Activity 状态

java - 需要帮助类型转换类(class)

ios - 在 ios 上从电话簿导入联系人时过滤 truecaller 垃圾邮件联系人(保存名称 "Identified as Spam")

java - 为什么 Stream::flatMap 的这种用法是错误的?

C# 不安全/固定代码

c# - 如何阻塞直到 RX 流中发生事件?