Example Changelogs: YAML Format
Liquibase supports YAML as a format for storing your Changelog files.
Requirements
To use YAML-based changelogs, you must include snakeyaml-<version>.jar in your classpath.
Limitations
None
Example
This example changelog contains changesets that:
- Create a new
person
table with columnsid
,firstname
,lastname
, andstate
- Add a new
username
column to theperson
table - Create a lookup table
state
using data fromperson
The example precondition requires the user making the deployment to be liquibase
.
databaseChangeLog:
- preConditions:
- runningAs:
username: liquibase
- changeSet:
id: 1
author: your.name
labels: example-label
context: example-context
comment: example-comment
changes:
- createTable:
tableName: person
columns:
- column:
name: id
type: int
autoIncrement: true
constraints:
primaryKey: true
nullable: false
- column:
name: name
type: varchar(50)
constraints:
nullable: false
- column:
name: address1
type: varchar(50)
- column:
name: address2
type: varchar(50)
- column:
name: city
type: varchar(30)
- changeSet:
id: 2
author: your.name
labels: example-label
context: example-context
comment: example-comment
changes:
- createTable:
tableName: company
columns:
- column:
name: id
type: int
autoIncrement: true
constraints:
primaryKey: true
nullable: false
- column:
name: name
type: varchar(50)
constraints:
nullable: false
- column:
name: address1
type: varchar(50)
- column:
name: address2
type: varchar(50)
- column:
name: city
type: varchar(30)
- changeSet:
id: 3
author: other.dev
labels: example-label
context: example-context
comment: example-comment
changes:
- addColumn:
tableName: person
columns:
- column:
name: country
type: varchar(2)
Tip: You can add YAML comments outside changesets using the format # my comment
.