用DAC实现数据库的架构迁移
完整的架构迁移操作,分为抽取(Extract)、注册(Register),部署(Deploy)和升级(Upgrade):
抽取(Extract)DAC是根据现存的数据库创建DAC package文件,抽取数据库对象的定义和相关的实例级别的元素,比如Login,以及Login 和User之间的关系。 目前Migrator.Net原生代码支持:MsSql,Oracle,PostgreSql,Sqlite,MySql。当然您也可以继承其几个抽象类,完成对其他数据库的支持。使用 Migrator.Net,您可以不用关注使用的是什么类型数据库,数据库之间的迁移也很方便,我们只要关注的是我需要哪些表,哪些字段,哪些索引,哪些关联。 App.config中自动添加了“entityFramework”配置节,在EF包安装过程中自动根据当前环境配置了“defaultConnectionFactory”, “defaultConnectionFactory”是EF默认的连接配置,只有在没有配置连接字符串时生效。在上一篇文章中我们提到如果不进行连接字符串配置EF会自动识别并创建数据库到“.\SQLEXPRESS”或者“LocalDb”,事实上就是通过这里识别的,可以看出我机器上没有“.\SQLEXPRESS”就自动使用了“LocalDb”,配置默认连接到“LocalDbConnectionFactory”。
|