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'

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

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

  • 相关阅读:
    【转】批处理第三方命令行工具汇总(2014-11-10更新)
    爬虫问题汇总 + 解决
    ocs的沟通平台
    DSCP 与IP 优先级IP优先级
    IPSec协议
    GRE 协议简介
    使用VLC创建组播流
    华为olt ma5680t常用命令详解
    Python统计列表中的重复项出现的次数的方法
    Kafka
  • 原文地址:https://www.cnblogs.com/YQYC/p/13099222.html
Copyright © 2011-2022 走看看