Liquibase中利用changelog增加表字段

本文介绍了如何使用Liquibase的changelog文件来安全地向已存在的数据库表中添加字段。首先创建了add_table_column.yaml文件,详细定义了要修改的表名和新增字段。然后在db.changelog-master.yaml中引入这个新文件,确保变更不会影响到初始的数据库和表结构。
摘要由CSDN通过智能技术生成

之前已经利用0000000000-initial-schema.yaml创建过数据库和表了,为了不对之前的库表造成影响决定采用增加changelog文件的方式添加表字段

首先新创建了一个add_table_column.yaml将要修改的表和字段写入:格式如下必须严格按照此格式书写,否则会有执行会失败

databaseChangeLog:

  - changeSet:
      id: 13
      author: zhongzx
      changes:
      - addColumn:
          columns:
          - column:
              name: publish
              type: boolean
              defaultValueBoolean: false
              valueBoolean: false
              remarks: 是否公布

          tableName: gateways


添加好字段yaml文件后,在db.changelog-master.yaml中加入增加表字段的yaml文件:如下

databaseChangeLog:
  - include:
      file: classpath:db/changelog/0000000000-initial-schema.yaml
      relativeToChangelogFile: false
  - include:
      file: classpath:db/changelog/add_table_column.yaml
      relativeToChangelogFile: false


就可以了。


Liquibase是一个数据库版本控制工具,它允许你在SQL脚本(通常称为 changelogs 或 changelog files)描述数据库结构的变更历史。如果你想在changelog添加或修改字段的备注(也称作注释),你可以按照这样的步骤操作: 1. **创建新的change log片段**: 使用`<changeSet>`标签开始一个新的变更集,指定`id`(唯一标识)和`author`(作者信息)。例如: ```xml <changeSet author="your_username" id="modify_field_comments"> ``` 2. **引用受影响的**: 添加`databaseChangeLog`标签来描述你要改变哪些,例如: ```xml <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.6.xsd"> <!-- ... --> </databaseChangeLog> ``` 3. **修改字段**: 对于你想修改注释的字段,使用`<comment>`标签,例如: ```xml <preConditions onFail="MARK_RAN"> <if columnExists tableName="your_table_name" columnName="your_column_name"/> </preConditions> <sql> UPDATE your_table_name SET column_comment = 'New description for the field' WHERE column_name = 'your_column_name'; </sql> ``` 这里假设`your_table_name`是你需要更改字段备注的名,`your_column_name`是列名。 4. **提交并运行更改**: 将这个`changelog`文件应用到实际数据库上,通过Liquibase命令行工具(liquibase.bat或liquibase.sh)或者集成到构建流程(如Jenkins、Spring Boot等)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值