数据库迁移工具(一)

Flyway定义数据库的迁移

Flyway版本:5.2.4

<dependency><groupId>org.flywaydb</groupId><artifactId>flyway-core</artifactId><version>5.2.4</version>
</dependency>

在使用这个版本之前首先测试了不配置版本和配置8版本的Flyway,但是并没有像网上和书上所写的那样会自动生成Flyway记录表和SQL定义的表,最终使用了5版本的Flyway才出现效果

Flyway使用SQL来定义迁移脚本,因此在这提前准备一些SQL文件,将sql文件保存到resources/db/migration(flyway默认读取位置)

CREATE TABLE IF NOT EXISTS`mybatis`.`flyway_table` (`id` INT NOT NULL AUTO_INCREMENT,`field_name` VARCHAR(45) NOT NULL,`field_value` VARCHAR(45) NOT NULL,PRIMARY KEY (`id`),UNIQUE INDEX `id_UNIQUE` (`id` ASC));INSERT INTO `mybatis`.`flyway_table` (`field_name`, `field_value`) VALUES ('flyway', 'init');INSERT INTO `mybatis`.`flyway_table` (`field_name`, `field_value`) VALUES ('code tools', 'vscode');INSERT INTO `mybatis`.`flyway_table` (`field_name`, `field_value`) VALUES ('connection', 'workbench');INSERT INTO `mybatis`.`flyway_table` (`field_name`, `field_value`) VALUES ('time', 'night');

Flyway脚本名称以大写字母V开头,随后是脚本的版本号,后面跟着两个下划线和对脚本的庙是,如: V1.2__initFlyway.sql

在application.yml中添加Flyway的配置

spring:flyway:enabled: truebaseline-on-migrate: truebaseline-description: 学习测试validate-on-migrate: truecheck-location: truelocations: classpath:db/migration

如果不配置Flyway的话,在该版本的maven中会出现如下报错(因为之前看一些资料显示可以不配置Flyway):

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of
init method failed; nested exception is org.flywaydb.core.api.FlywayException: Found non-empty schema(s) `mybatis` without schema history table! Use baseline() or set baselineOnMigrate to true to initialize the schema history table.

启动整个项目,启动成功后查看数据表,出现了 flyway_schema_history 和 flyway_table这两张数据表

数据库迁移工具(一)相关推荐

  1. 不同库表数据库迁移工具_Microsoft提供的数据库迁移助手工具概述

    不同库表数据库迁移工具 This article gives the overview of the Database Migration Assistant Tool to access, plan ...

  2. 没有契合的数据库迁移工具,用pymysql实现一个

    版本迭代少不了数据迁移,python有自己的数据库迁移工具migrate.如果有的是其它开发语言,或者没有契合的迁移工具. 怎么自己做一个? 环境说明 项目开发语言:java 数据库: mysql 迁 ...

  3. Alembic数据库迁移工具使用

    Flask下数据库迁移 背景 在很多时候,在我们设计好模型之后,又需要进行一定的改变和更新数据操作:最直接的方式就是删除原来的旧表,但我们之前的数据也会删除:究其原因是我们不能精确记住每个修改和对应D ...

  4. python数据库迁移命令_Python 数据库迁移工具 Alembic

    Alembic 是一款轻量型的数据库迁移工具,它与 SQLAlchemy 一起共同为 Python 提供数据库管理与迁移支持. Alembic 的应用 Alembic 使用 SQLAlchemy 作为 ...

  5. dts数据库迁移工具_传统数据库迁移上云利器-ADAM

    自1970年关系型数据库被提出以来,至今已有50年历史.但在关系型数据库领域正在发生着巨大的变化,首先是互联网的发展,使得开源数据库越来越受欢迎,可扩展性成为支撑业务发展的重要特性,比如WebScal ...

  6. dts数据库迁移工具_干货分享丨DM8 DTS工具使用小技巧

    DTS工具的介绍 DM数据库为迁移提供了图形化工具--DTS.DTS可以从主流大型数据库迁移到DM.DM到DM.文件迁移到DM以及DM迁移到文件的功能,极大的简化了迁移操作,让数据迁移变得简单. DT ...

  7. dts数据库迁移工具_5分钟学会如何玩转云数据库组件(迁移,审计,订阅)

    不小心删除公司数据,会怎么样?如果你经常关注知乎,就会发现,这个问题经常出现在你的feeds流里面,时长都会有各式各样的"删库到跑路"事件发生.不管是传统数据库或者是云数据库,总会 ...

  8. 挺带劲!这款开源数据库迁移工具超牛逼

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 迁移数据库可以说是日常工作中的家常便饭,不过,如果一不小心把数据库搞炸了,那就麻烦大了(搞不好就得背锅了 ...

  9. 南大通用数据库迁移工具使用指南

    一.工具简介 GBase Migration Toolkit 是南大通用自主研发的数据对象迁移工具,能够以图形化界面形式,实现以任务为单位对不同数据库之间库元数据和用户数据的自动迁移. 该工具基于C/ ...

最新文章

  1. php自动装载编程,php 类自动载入的方法
  2. Openstack Nova 源码分析 — RPC 远程调用过程
  3. DotNetNuke: System.Security.Cryptography.CryptographicException: Bad Data
  4. nacos 本地测试_一文详解 Nacos 高可用特性
  5. 零基础学Python(第二十一章 OS文件目录)
  6. 导演李大为婚礼全过程(一)
  7. Redhat linux 5.3 基于bond的heartbeat
  8. hbuilder的aptana php插件无法提示命名空间之外函数和对象的解决办法
  9. 游侠原创:VMware ESXi 5安装图文教程
  10. python爬取本地文本中的成语_Python爬取成语:从3字到12字
  11. 一个草根码农的拼搏历程
  12. 数据分析离不开商业分析
  13. MapReduce分片、分区、分组 傻傻分不清
  14. c标准库头文件ctype.h详解
  15. pytorch的使用:卷积神经网络模块
  16. ​PDF转Excel转换器推荐
  17. WEBIX JavaScript UI 10.0.4 Crack
  18. Frontpage2003的共享边框
  19. 2020第十一届蓝桥杯国赛Python组
  20. [sv] region timeslot

热门文章

  1. Java程序员玩转数据库的CRUD
  2. 物联网它工程就业方向又会在哪里
  3. 智能时代-大数据与智能革命重新定义未来(吴军)-核心书摘
  4. 我用过的设计模式(2)-- 单例模式
  5. 北京经开区:无人驾驶范围将扩至500平方公里播
  6. android百度地图定位,改变MyLocationOverlay默认图标(原始为蓝色点)(两种方法)
  7. 《网页设计心理学》一2.2 网上求助的旁观者效应
  8. RTP协议全解析(H264码流和PS流
  9. python画猪猪侠_python的学习笔记/002-3(2018-5-20)
  10. idea代码字体大小放大和缩小的快捷键设置