我有一个继承的大型遗留项目,其中没有数据库的版本控制。我想创建流畅的迁移并将它们置于源代码控制之下,以便将来管理它。
我的问题是这个项目很大。它包含 6 个独立的数据库。每个数据库都包含大量的业务逻辑。约 120,000 个存储过程、触发器和视图。这太多了,不能手工完成。
有什么方法可以生成从空数据库到生产快照的流畅迁移?
我有一个继承的大型遗留项目,其中没有数据库的版本控制。我想创建流畅的迁移并将它们置于源代码控制之下,以便将来管理它。
我的问题是这个项目很大。它包含 6 个独立的数据库。每个数据库都包含大量的业务逻辑。约 120,000 个存储过程、触发器和视图。这太多了,不能手工完成。
有什么方法可以生成从空数据库到生产快照的流畅迁移?
如果数据库允许创建(createtable)脚本,你应该能够使用它的嵌入脚本功能
我建议拆分成不同的迁移程序集(对于每个数据库)并使用例如一个基本命名空间(如果你知道你应该能够使用 fluentmigrations 语法,那么你只有 1 个执行嵌入式脚本的上/下)在命名空间 _1 中以供将来更改
有关嵌入式脚本的使用,请参见http://tommarien.github.io/blog/2011/12/18/fluentmigrator-part-ii
我希望这会有所帮助,但整理基本命名空间需要一段时间。