数据迁移postgresql转sqlserver

数据迁移postgresql转sqlserver

本文讲述旧项目postgresql数据库转换成新的数据库类型sqlserver的操作实录。项目是使用的springboot+mybatis。mybatis有涉及到通用mapper的增删改查,数据库有自增主键。

数据库表的迁移

通过修改postgresql数据库转存的sql。

  1. 自增类型修改为int Identity(1,1);
  2. 整形都转换成int,sqlserver没有int2,int4这些类型;
  3. timestamp 时间戳转换成DateTime2;
  4. varchar最大支持5000,如果还要更大存储的可以用varchar(max);
  5. bool类型转换成bit,0代表false,1代表true;
  6. RESTRICT切换成CASCADE;
  7. sqlserver数据库不用写模式,把什么public去掉;
  8. json类型转换成nvarchar;

mybatis代码层查询语句修改

对象自增主键使用
@Id
@KeySql(dialect = IdentityDialect.SQLSERVER)
@Column(insertable=false)
limit 1转换成select top 1+查询语句,top 只能跟在select后面;
distinct 去重不用加on,sqlserver去重后面直接跟字段名,一个字段名就是对一个字段去重,多个字段名就是对多个字段一起去重;
把sql中的true和false替代为1和0;
now()函数替换成CURRENT_TIMESTAMP

后记

暂时碰到就这些了,这个是我修改代码的实操记录,有什么不同的仅供参考。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值