首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Liquibase简单使用

LiquiBase是一个用于数据库重构和迁移开源工具,通过日志文件形式记录数据库变更,然后执行日志文件修改,将数据库更新或回滚到一致状态。...其有点主要有以下: 支持几乎所有主流数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等; 支持多开发者协作维护; 日志文件支持多种格式,如XML, YAML...我是用命令行形式生成changeLog,然后再集成到springboot。官网上提供还有基于ant、maven和服务端使用方式,以后再研究。...generateChangeLog命令默认只会创建数据库结构变更日志文件,如果希望创建插入数据变更日志文件,可以使用参数diffTypes,该参数包括如下可选项: tables [DEFAULT]...这里我没有使用默认配置,指定了一个自己路径,只需要在application.properties添加如下配置: #liquibase liquibase.change-log=classpath:

1.5K60
您找到你想要的搜索结果了吗?
是的
没有找到

Liquibase简单使用

其有点主要有以下: 支持几乎所有主流数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等; 支持多开发者协作维护; 日志文件支持多种格式,如XML, YAML...之所以选择使用liquibase,原因其实挺尴尬,由于我不会使用容器化技术,不会写dockfile来运行项目初始化sql脚本,就想有没有什么简单方便形式,最后看中了liquibase,配置起来确实简单方便...我是用命令行形式生成changeLog,然后再集成到springboot。官网上提供还有基于ant、maven和服务端使用方式,以后再研究。...generateChangeLog命令默认只会创建数据库结构变更日志文件,如果希望创建插入数据变更日志文件,可以使用参数diffTypes,该参数包括如下可选项: tables [DEFAULT]...application.properties添加如下配置: #liquibase liquibase.change-log=classpath:/liquibase/master.xml --master.xml

2.2K20

一起来学SpringBoot | 第二十四篇:数据库管理与迁移(Liquibase

SpringBoot 是为了简化 Spring 应用创建、运行、调试、部署等一系列问题而诞生产物, 自动装配特性让我们可以更好关注业务本身而不是外部XML配置,我们只需遵循规范,引入相关依赖就可以轻易搭建出一个...主要特点 支持几乎所有主流数据库,如MySQL、PostgreSQL、Oracle、Sql Server、DB2等 支持多开发者协作维护; 日志文件支持多种格式;如XML、YAML、SON、SQL等...支持多种运行方式;如命令行、Spring 集成、Maven 插件、Gradle 插件等 平时开发,无可避免测试库增加字段或者修改字段以及创建表之类,环境切换时候如果忘记修改数据库那么肯定会出现...将使用配置主数据源. spring.liquibase.user 数据用户名 spring.liquibase.rollback-file 执行更新时写入回滚 SQL文件 db.changelog-master.yaml...2.SQL语法是创建一张 person表和 两次 INSERT 操作 ?

1.8K20

POSTGRESQL时区日期技术与狠活

首先POSTGRESQL 带有时区日期格式包含了,时间和日期两种,这里官方建议大家使用日期类型而不是直接使用时间类型带有时区类型。...使用时区格式时,实际上POSTGRESQL 是只存储一种时间就是UTC时间格式,通过UTC 时间对应当前系统时区来进行日期和时间显示。...3 时区显示问题 关于时区问题,POSTGRESQL UTC 本身并不存在,换来POSTGRESQL epoch ,这主要是于计算机发明时间有关,计算机时间并不是我们日常看到时间表达方式...具体时间显示,如果是带有时区时间,是带有 + - 号和数字在后面表达具体时区信息了,如上面表达是 东八时区 4 什么时候不能使用时区 with time zone 进行分区表过程,...结论:输入时间过程,如果你想将你当前时区时间输入到其他时区数据库,并且以它所在时区时间进行显示,请使用 3 方法来输入数据。

2.4K20

如何解决FreeSWITCH时间不正确问题

如果遇到服务器时间与北京时间相差八小时(FS及话单时间也与标准时间相差八小时) 解决方法如下: 第一步:修改Debian系统时间 Linux系统主要就是使用tzselect命令来选择时区。...: tzselect timeconfig:仅限于RedHat Linux 和CentOS dpkg-reconfigure tzdata:适用于Debian 复制相应时区文件,替换系统时区文件或者创建链接文件...第二步:修改FS系统时区 修改完Debian系统时间,可进入如下目录编辑variables.xml文件 vim /usr/local/freeswitch/conf/variables.xml 只需要添加如下一行内容即可...如果使用PG数据库则需要重新设置数据库时间,步骤如下: su - postgres psql select now(); 执行完上述步骤就可以查看数据库时间 执行set time zone 'PRC...';重新查询及时生效 想要永久生效pgdata下postgresql.conf需配置里修改两项: log_timezone = 'PRC' timezone = 'PRC' 修改之后重启数据库,命令如下

2K20

PostgreSQL 指南:内幕探索》之基础备份与时间点恢复(上)

假设你GMT时间2018-07-1612:05:00犯了错误,那么就应该删掉当前数据库集簇,并使用之前制作基础备份恢复一个新,然后创建一个recovery.conf文件,并在其中将recovery_target_time...PostgreSQL执行参数restore_command配置命令,将归档日志从归档区域复制到临时区域,并从中读取WAL数据,复制到临时区域中日志文件会在使用后被删除。...本例,因为参数recovery_target_time被设置为该时间,所以PostgreSQL从重做点读取并重放WAL数据,直到时间2018-7-1612:05:00为止。...当恢复过程完成时,会在pg_xlog子目录(10.0或更高版本为pg_wal子目录)创建时间线历史文件,如00000002.history。...当重放每个动作XLOG记录时,PostgreSQL会比较目标时间和记录写入每个时间,如果时间超过目标时间,PITR过程就会完成。

1.6K61

Spring Boot 集成 Liquibase,数据库也能做版本控制!

Liquibase模版生成器插件 创建一个 maven 项目 liquibase-changelog-generate,本项目具备生成 xml 和 yaml 两种格式 changelog,个人觉得 yaml...maven插件配置,pom使用configration标签进行配置 property就是名字, // 配置里面的标签名字。...创建表 准备通过 Liquibase创建数据表,首先点击下面这个命令: 然后控制台输入 create_table_admin,回车,我们可以看到对应文件如下: 我们填充上述文件,将建表字段加进去...plugin-生成数据库修改文档 双击liquibase plugin面板liquibase:dbDoc选项,会生成数据库修改文档,默认会生成到target目录,如下图所示 liquibase文档...访问index.html会展示如下页面,简直应有尽有 liquibase可视化界面 关于 liquibase 更多有意思命令使用,可以花时间再去挖掘一下,这里就不过多介绍了。

1.2K30

使用liquibase与h2助力单元测试

判断,也可以Liquibasexml配置中使用preCondition来决定Liquibase是否启用 Liquibase xml配置元素 databaseChangeLog databaseChangeLog...,添加索引、主键等等操作,一个xml里面可以包含有多个changeSet,一个changeSet里可以包含多个操作 Liquibase会在数据库自动创建DATABASECHANGELOG,DATABASECHANGELOGLOCK...,可以按业务维护不同database change log file,然后一个主xml引用所有的 <?...配置就是pom引入h2依赖,然后spring配置换成h2connector就可以了 com.h2database...总结 使用Liquibase来管理数据库schema,使用h2来随时在内存创建数据库,以后基本可以不用担心单元测试数据问题了,数据库变更也变得有迹可循,感谢贡献出这些工具的人。

1.6K20

进阶数据库系列(六):PostgreSQL 数据类型与运算符

应根据实际需要选择最适合类型,以查询效率和存储空间上有所平衡。 浮点数类型 实际工作很多地方需要用到带小数数值,PostgreSQL使用浮点数来表示小数。...带时间格式输入可用系统NOW()函数。时间时区输入参考如下。...TIMESTAMP类型 时间类型有效输入由一个日期和时间联接组成,后面跟着一个可选时区,一个可选 AD 或者 BC。时间输入格式为:YYYY-MM-DD HH:MM:SS。...PostgreSQL你可以像使用简单数据类型那样使用复合类型。...向tmp4表插入系统当前时间,SQL语句如下: 由于由时间函数获得时间是带时区,所以需要先将字段属性修改为带时区类型时间: ALTER TABLE tmp4 ALTER COLUMN t

87331

MySQL时间2038年灾难:你数据还能撑过去吗?

Timestamp 类型MySQL通常用于存储日期和时间。...然而,Timestamp类型一个限制是其存储范围,它使用4字节(32位)整数来表示秒数,从而导致2038年01月19日03:14:07之后无法正确存储时间。...时区展示问题 由于timestamp类型是时区无关,因此时区变化时,所展示数据也是会不一样,因此处理涉及时区应用时,需谨慎考虑时差影响。...然而,datetime 类型存储上可能会占用更多空间。 使用 bigint 存储时间:如果你需要更大时间范围,并且需要毫秒级别的精度,可以考虑使用 bigint 类型存储时间。...将时间以毫秒或微秒形式存储 bigint 字段,可以更灵活地处理大范围时间。在这种情况下,你需要在应用负责将时间转换为适当格式和时区

1K30

PostgreSQL 数据类型

设置数据类型好处: PostgreSQL提 供了丰富数据类型。用户可以使用 CREATE TYPE 命令在数据库创建数据类型。PostgreSQL 数据类型有很多种,下面我们具体来说明。...变长,无长度限制 ---- 日期/时间类型 下表列出了 PostgreSQL 支持日期和时间类型。...PostgtesSQL枚举类型类似于 C 语言中 enum 类型。 与其他类型不同是枚举类型需要使用 CREATE TYPE 命令创建。...要使用这个数据类型,编译时必须使用 configure --with-libxml。 xml 可以存储由XML标准定义格式良好"文档", 以及由 XML 标准 XMLDecl?...创建XML使用函数 xmlparse: 来从字符数据产生 xml 类型值: XMLPARSE (DOCUMENT '<?xml version="1.0"?

1.3K30

PostgreSQL 指南:内幕探索》之基础备份与时间点恢复(下)

接下来,我们启动PostgreSQL服务器,它通过跟踪初始时间线(时间线标识1),从pg_start_backup创建重做点开始,重放归档日志WAL数据,直到恢复目标达成,这一步图中用浅色直线箭头标识...当恢复过程完成时,当前时间线标识将增加到3,并在pg_xlog子目录(10.0及更高版本为pg_wal子目录)和归档目录创建名为00000003.history时间线历史文件。...PostgreSQL执行参数restore_command配置命令,将归档日志从归档区域复制到临时区域,并从中读取WAL数据,复制到临时区域中日志文件会在使用后被删除。...本例,因为参数recovery_target_time被设置为该时间,所以PostgreSQL从重做点读取并重放WAL数据,直到时间2018-7-1612:05:00为止。...当重放每个动作XLOG记录时,PostgreSQL会比较目标时间和记录写入每个时间,如果时间超过目标时间,PITR过程就会完成。

1.6K31

PostgreSQL 指南:内幕探索》之基础备份与时间点恢复

PostgreSQL执行参数restore_command配置命令,将归档日志从归档区域复制到临时区域,并从中读取WAL数据,复制到临时区域中日志文件会在使用后被删除。...本例,因为参数recovery_target_time被设置为该时间,所以PostgreSQL从重做点读取并重放WAL数据,直到时间2018-7-1612:05:00为止。...当重放每个动作XLOG记录时,PostgreSQL会比较目标时间和记录写入每个时间,如果时间超过目标时间,PITR过程就会完成。...接下来,我们启动PostgreSQL服务器,它通过跟踪初始时间线(时间线标识1),从pg_start_backup创建重做点开始,重放归档日志WAL数据,直到恢复目标达成,这一步图中用浅色直线箭头标识...5.当恢复过程完成时,当前时间线标识将增加到3,并在pg_xlog子目录(10.0及更高版本为pg_wal子目录)和归档目录创建名为00000003.history时间线历史文件。

1.6K50

微服务架构技术栈:程序员必须掌握微服务架构框架详细解析

,《阿里巴巴Java开发手册》,就强制规定表必备三字段:id,gmt_create,gmt_modified.所以通常我们都会写个公共拦截器去实现自动填充比如创建时间和更新时间,无需开发人员手动设置...比如MySQL, PostgreSQL, Oracle, SQL Server, DB2等.这样在数据库部署和升级环节可以帮助应用系统支持多数据库 提供数据库比较功能,比较结果保存在XML,基于XML...LiquiBase, 需要生成当前数据changeSet, 可以使用两种方式: 使用数据库工具导出SQL数据,然后changLog文件以SQL格式记录 使用generateChangeLog命令生成...使用示例 application.properties配置changeLog路径: # Liquibase配置 liquibase=true # changelog默认路径 liquibase.change-log...maven配置插件生成已有数据库changelog文件: 需要在pom.xml增加配置,然后配置liquibase.properties

1.6K20
领券