mysql 迁移 t级别的库_mysql 数据库 CodeFirst 迁移

MySQL数据库CodeFirst方式迁移

1、  Context类前必须加好特性

[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]

2、  迁移步骤

1.  命令运行环境:visual studio工具栏->工具->NuGet 程序包管理器->程序包管理器控制台

2.  基本命令和常用参数

>  get-help                  获取帮助的命令(例:get-help Enable-Migrations –detailed)

–detailed                 详细用法

>  Enable-Migrations         启用迁移

-Force                    强制覆盖

-ProjectName              目标项目(迁移类所在的项目)

-StartUpProjectName       启动项目(包含数据库连接字符串配置文件所在的项目)

-ContextTypeName          需要迁移的数据库(类)

-ConnectionStringName     指定使用配置文件中连接字符串的名称

-ConnectionString         指定使用的连接字符串

-ConnectionProviderName   指定连接字符串的provider名称

-MigrationsDirectory      指定迁移文件的目录(多个数据库,独立自动迁移用)

>  Add-Migration             为挂起的Model变化添加迁移脚本

-Force

-ProjectName

-StartUpProjectName

-ConfigurationTypeName    指定使用的迁移配置

-IgnoreChanges            忽略检测到挂起的model改变,为已有的数据库启用迁移创建一个初始的,空的迁移。

-ConnectionStringName

-ConnectionString

-ConnectionProviderName

>  Update-Database           将挂起的迁移更新到数据库

-Force

-ProjectName

-StartProjectName

-ConfigurationTypeName

-ConnectionStringName

-ConnectionString

-ConnectionProviderName

-SourceMigration          只有-Script打开时才有效。指定迁移的名称用作更新的起点。忽略则使用最后一次应用的迁移。

-TargetMigration          指定将数据库更新到哪个迁移的名称。

-Script                   生成SQL脚本

>  Get-Migrations            获取已经应用的迁移

3.  迁移操作步骤举例:

XLCRM.Model:解决方案中,数据模型层项目名称

XLCRM.MVC:解决方案中,启动项的名称

XLCRM.Model.Context :需要应用数据迁移的数据上下文

a.  第一次启用迁移,输入命令:

Enable-Migrations -ProjectName XLCRM.Model -StartUpProjectName XLCRM.MVC -ContextTypeName XLCRM.Model.Context

并敲回车键,然后打开生成的Migrations文件夹中的Configuration.cs文件,

把构造方法中的AutomaticMigrationsEnabled = false;改为AutomaticMigrationsEnabled = true;

如果有多个数据库,每个库需要独立指定迁移文件,命令格式如下:

Enable-Migrations -ProjectName XLCRM.Model -StartUpProjectName XLCRM.MVC -ContextTypeName XLCRM.Model.Context  -MigrationsDirectory:MemberMigrations

b.  模型有改动时,输入命令:add-migration update20150508 -ProjectName XLCRM.Model -StartUpProjectName XLCRM.MVC -Force并敲回车键,创建迁移脚本

然后 输入命令:Update-Database -Verbose -ProjectName XLCRM.Model -StartUpProjectName XLCRM.MVC并敲回车键,执行迁移操作

4.  配置自动迁移

在应用程序的入口方法(函数)里注册自动迁移:

Database.SetInitializer(new MigrateDatabaseToLatestVersion());

注意:Configuration.cs生成的是internal sealed class,如果不在启动程序集中,则需要修改成public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值