createCollection
createCollection
is a Change Type in the Liquibase Open Source and Liquibase Pro extensions for MongoDB that creates a collection with the validator.
Uses
The Liquibase Pro extension for MongoDB includes several modeled Change Types from the Liquibase Open Source version. These let you specify a few MongoDB commands using Liquibase XML, JSON, and YAML changelogs.
createCollection
is one such Change Type. You can use it to create a collection in your database.
To add data to your collection, you must use the insertOne
and insertMany
Change Types.
Note: If you want to specify mongosh
statements in your XML, JSON, and YAML changelogs, use the mongo
and mongoFile
Change Types instead.
Run
To run this Change Type, follow these steps:
- Add the Change Type to your changeset, as shown in the examples on this page.
- Specify any required attributes. Use the table on this page to see which ones your database requires.
- Deploy your changeset by running the
update
command:
liquibase update
Available attributes
For more information, see db.createCollection().
Tip: You must specify all top-level attributes marked as required. If you specify an optional attribute, you must also specify any nested attributes that it requires.
Name | Type | Description | Requirement |
---|---|---|---|
collectionName
|
String | Name of the collection to create | Required |
Examples
databaseChangeLog:
- changeSet:
id: 1
author: your.name
comment: create_collection_comment
changes:
- createCollection:
collectionName: towns_yaml
{
"databaseChangeLog": [
{
"changeSet": {
"id": "1",
"author": "your.name",
"comment": "test_comment",
"changes": [
{
"createCollection": {
"collectionName": "towns_json"
}
}
]
}
}
]
}
The Liquibase MongoDB Open Source extension uses a unique mongodb
XML namespace and XSD files in the changelog header. However, the ext
prefix used with other extensions is backwards-compatible:
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mongodb="http://www.liquibase.org/xml/ns/mongodb"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd
http://www.liquibase.org/xml/ns/mongodb
http://www.liquibase.org/xml/ns/mongodb/liquibase-mongodb-latest.xsd">
<changeSet id="1" author="your.name">
<comment>create_collection_comment</comment>
<mongodb:createCollection collectionName="towns"/>
</changeSet>
</databaseChangeLog>
Database support
This Change Type is only supported for MongoDB. It does not support auto rollback.