zoukankan      html  css  js  c++  java
  • 记录一次 数据库迁移 MSSQL 到MySql

    需要把 startup.cs 行中的  UseSqlServer改为UseMySql

    services.AddDbContext<Model.Models.BaoPinKeContext>(options => options.UseMySql(Configuration["ConnectionString"]));

    model层需要移除 Microsoft.EntityFrameworkCore.SqlServer 引用

    引入 Pomelo.EntityFrameworkCore.MySql、Pomelo.EntityFrameworkCore.MySql.Design包

    然后再 程序包管理控制台 输入 Add-Migration "xxx_Initial" 生成迁移文件
    生成迁移文件后需要修改 一下:

    1.将 “ntext” 类型的字段 改为 “text ”类型

    2.去掉字段中的默认值 

    做好这些修改后,执行Update-DataBase 即可

    你以为这就完了?这只是迁移表结构而已

    接下来迁移 数据,我用的而是 Navicat PreMium 功具

    第一次导入的时候没有导入数据成功,后来检查了一下原来是数据库的表编码格式与源数据库的编码格式不一致,导致了数据导不进去

    首先 查看表编码格式

    SELECT
    TAble_name,Table_Collation
    FROM
    information_schema.`TABLES`
    WHERE
    TABLE_SCHEMA = '{Table_Name}';

    我源数据库上的编码格式为 utf8mb4_bin

    然后执行 语句 


    select CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;") from information_schema.tables where table_schema='BaoPinKe'

    获得以上修改语句,执行,就能成功修改数据表的编码格式了

    然后重新执行数据导入,成功了!

  • 相关阅读:
    调试 XPTable
    适合IT经理的编程语言
    请问我如何在一个webBrowser控件中加载一个 html格式的字符串 _NET技术 C#
    DotNetBar 教程
    思梅
    无家可归的苦
    思霞
    思兰
    十大因素——造就优秀的董事长
    思萍
  • 原文地址:https://www.cnblogs.com/YQYC/p/13099222.html
Copyright © 2011-2022 走看看