当前位置: 首页 > news >正文

郑州网站建设公司如何公众号开发专业

郑州网站建设公司如何,公众号开发专业,广告营销推广方案,视差效果网站文章目录liquibase学习介绍数据库更新日志和数据库更新日志锁定相关概念changelogchangeset的属性preconditionsql样例Contextssql样例Labelsql样例文件格式sql样例其他格式用的时候在补充跟踪表DATABASECHANGELOGLOCK #xff08;数据库更改日志锁定表#xff09;DATABASECH… 文章目录liquibase学习介绍数据库更新日志和数据库更新日志锁定相关概念changelogchangeset的属性preconditionsql样例Contextssql样例Labelsql样例文件格式sql样例其他格式用的时候在补充跟踪表DATABASECHANGELOGLOCK 数据库更改日志锁定表DATABASECHANGELOG 数据库更新日志表命令update执行情况liquibase使用基于SpringBoot maven集成Liquibaseliquibase学习 介绍 Liquibase 是一种数据库结构更改管理解决方案能够从开发到生产更快、更安全地修订和发布数据库更改。 数据库更新日志和数据库更新日志锁定 部署更改时Liquibase 会在数据库中创建两个表DATABASECHANGELOG 和 DATABASECHANGELOGLOCK。 数据库更改日志表跟踪已部署的更改以便您有记录。Liquibase 将变更日志文件中的变更集与 DATABASECHANGELOG 跟踪表进行比较并仅部署新的变更集。 DATABASECHANGELOGLOCK 可防止 Liquibase 的多个实例同时更新数据库。该表在部署期间管理对 DATABASECHANGELOG 表的访问并确保只有一个 Liquibase 实例正在更新数据库。 相关概念 changelog Liquibase 使用changelog按顺序列出对数据库所做的所有更改。 changelog单个更改单元称为changesetchangeset是 Liquibase 中变化的基本单位。将所有changeset存储在changelog中 不同的文件格式(sql,yaml,xml,json)对changeset的描述是不一样的只是sql文件格式学习成本最低 changset是由changelog的文件路径和author属性和id属性唯一确认的 changeset的属性 precondition precondition是添加到changelog或单个changeset的标记用于根据数据库的状态控制更新的执行。通过precondition您可以指定changeset的安全性和标准化要求。如果changeset上的precondition失败Liquibase 不会部署该changeset。不过也可以设置不同的属性控制错误的处理方式。 该属性可以在changeset执行前进行检查。 sql文件格式的changelog只支持sqlCheck其他文件格式支持的检查会多一些。 sql样例 --liquibase formatted sql--changeset Liquibase User:1 --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM primary_table --comment: /*comments should go after preCondition. If they are located before the precondition, then Liquibase usually gives error.*/ create table primary_table ( id int primary key,name varchar(50) not null,address1 varchar(50),address2 varchar(50),city varchar(30) )Contexts 使用该属性可以在进行更新数据库时根据输入的参数对changeset进行过滤属性值是不区分大小写的字符串。具体的判断逻辑可以参考该链接 sql样例 --changeset bob:1 contextFilter:test insert into news (id, title) values (1, Liquibase 0.8 Released)Label 使用该属性可以在进行更新数据库时根据输入的参数对changeset进行过滤属性值是不区分大小写的字符串。label和contexts的具体的判断逻辑可以参考该链接 sql样例 --liquibase formatted sql--changeset Liquibase User:1 labels:1.0 create table primary_table ( id int primary key,name varchar(50) not null,address1 varchar(50),address2 varchar(50),city varchar(30) )文件格式 sql样例 /*changelog标准开头*/ --liquibase formatted sql/*changeset标准开头 author:id*/ --changeset nvoxland:1 /* 设置前置条件属性 */ --preconditions onFail:HALT onError:HALT /* 设置前置条件sql checksql格式支支持sqlcheck */ --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM my_table create table test1 (id int primary key,name varchar(255) ); /*rollback标准开头*/ --rollback drop table test1;--changeset nvoxland:2 insert into test1 (id, name) values (1, ‘name 1′); insert into test1 (id, name) values (2, ‘name 2′);--changeset nvoxland:3 dbms:oracle create sequence seq_test; 其他格式用的时候在补充 跟踪表 DATABASECHANGELOGLOCK 数据库更改日志锁定表 Liquibase 使用 DATABASECHANGELOGLOCK 表来确保一次只运行一个 Liquibase 实例。 当您进行数据库更新时Liquibase 会从 DATABASECHANGELOG 表中读取数据以确定需要运行哪些变更集。为了避免并发更新之间的冲突如果多个开发人员使用相同的数据库实例或者集群中的多个服务器在启动时自动运行 Liquibase则可能会发生冲突当更新当前正在运行时DATABASECHANGELOGLOCK 表将该列设置为 1。如果您在此期间进行其他更新Liquibase 会等到锁释放后再运行它。 DATABASECHANGELOG 数据库更新日志表 Liquibase 使用 DATABASECHANGELOG 表来跟踪运行了哪些变更集。如果数据库中不存在该表Liquibase 会自动创建一个表。 命令 Liquibase 附带的几个命令可以帮助迁移和更改数据库。 主要包含start命令、update命令、rollback命令、inspection 命令、tracking 命令、Maintenance 命令、checks 命令、Hub 命令。 Liquibase命令详细 update 该命令将部署changelog文件中尚未部署到数据库的任何更改。 运行该命令时Liquibase 会按顺序读取changelog文件中的changset然后将author 和 id的唯一标识符与存储在 DATABASECHANGELOG 表中的值进行比较。 执行情况 如果唯一标识符不存在Liquibase 会将changset应用于数据库。 如果存在唯一标识符则将changset的 MD5Sum 与数据库中的 MDSum 进行比较。如果它们不同Liquibase 将生成一条错误消息声明有人意外更改了changeset。但是如果将changeset的属性runOnChange or runAlways 设置为True Liquibase 将重新应用changeset。 liquibase使用 基于SpringBoot maven集成Liquibase 打开pom.xml,添加liquibase依赖 dependencygroupIdorg.liquibase/groupId artifactIdliquibase-core/artifactId /dependency打开spring配置文件application.properties添加以下配置 spring:datasource:url: jdbc:postgresql://localhost:5432/yourdatabaseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driverliquibase:#是否启用liquibaseenabled: truechange-log: classpath:db/changelog/changelog.yaml#changlog生效的上下文contexts: dev#第一次执行时是否清空数据库drop-first: true#changelog生效的标签labels: dev在resource文件夹下创建db/changelog/changelog.yaml文件然后填充以下内容 databaseChangeLog:- includeAll:path: db/changelog/sql/然后就可以在db/changelog/sql/文件夹创建你自己的changeset sql格式的文件了建议文件的命令使用有意义的版本和名字进行命名比如01-01-modify-user-table.sql。sql文件样例 -- liquibase formatted sql--changeset liming:1 ranOn: 2019-07-01 11:00:00.000000000 0000 create table user (id bigint auto_incrementprimary key,name varchar(255) not null );--changeset liming:2 ranOn: 2019-07-01 11:00:00.000000000 0000 insert into user (name) values (liming); 部署changelog 6.1.直接启动程序就可以实现改变 6.2. 在pom.xml中添加liquibase-maven-plugin插件使用提供的update功能可以实现改变
http://www.tj-hxxt.cn/news/141235.html

相关文章:

  • 建立一个网站的流程wordpress图片变小了
  • 怎么做页眉网络优化工程师是干什么的
  • 北京做网站推广多少钱网页制作背景颜色
  • 怎么自己做微网站吗网页设计html代码大全空格
  • 建站专业定制炫酷wordpress主题
  • 网站收录怎么删外贸网站建设价格怎么样
  • 万宁网站建设公司wordpress ping服务列表
  • html5自建网站小程序制作二维码
  • 南宁网站建设索王道下拉wordpress系列教程
  • 国内flask做的网站小程序商城代运营
  • 网站优化新闻kangle搭建wordpress
  • 网站访客代码js多站点cms
  • 网站免费做招生宣传语玉器珠宝做网站
  • 用瀑布流做的美食网站课程网站建设技术
  • 公司做的网站列入什么科目代理游戏
  • 在印度做视频网站阿里云建网站流程
  • 网站首页排名下降域名批量注册查询
  • 重庆网站建设夹夹虫公司.很好开发一款手机app软件需要多少钱
  • 移动终端网站建设新品发布会宣传文案
  • 东莞企业建站程序网站开发与管理心得体会
  • 网站制作台州黄岛建设厅官方网站
  • 网站建设运营执行方案河南网站建设推广运营
  • 网站建设报告书总结wordpress 主题翻译
  • 做微网站必须要有公众号吗软件商城免费下载app
  • 英德市网站建设ppt模板清新淡雅免费下载
  • 宾馆网站建设方案网站空间信息查询
  • 网站建设公司测评知名网站有哪些?
  • 大学生创业网站建设方案首尔面积
  • flash网站模板免费下载软件定制网
  • 网站 mssql 数据库wordpress网站注册不了