Для создания схемы базы данных с использованием Liquibase, вам нужно создать файл сценария Liquibase, в котором опишите необходимые изменения. В этом файле можно указать создание таблиц, индексов и других объектов базы данных.
1. Создайте новый файл с расширением `.xml` или `.yaml`, например, `changelog.xml`.
2. Определите версию Liquibase в файле сценария. Добавьте следующий код в начало файла:
```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.0.xsd">
```
или
```yaml
databaseChangeLog:
- changeSet:
id: 1
author: your_name
```
3. Добавьте изменения базы данных в файл сценария. Например, чтобы создать таблицу, добавьте следующий код внутри тега `<databaseChangeLog>`:
```xml
<changeSet id="create-table" author="<your_name>">
<createTable tableName="<your_table_name>">
<column name="id" type="INT">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="VARCHAR(255)"/>
</createTable>
</changeSet>
```
или
```yaml
- createTable:
tableName: your_table_name
columns:
- column:
name: id
type: INT
constraints:
primaryKey: true
nullable: false
- column:
name: name
type: VARCHAR(255)
```
4. Если вы хотите проверить наличие схемы перед созданием таблиц, добавьте блок `<preConditions>` перед тегом `<changeSet>`. Например:
```xml
<changeSet id="create-table" author="<your_name>">
<preConditions onFail="MARK_RAN">
<not>
<schemaExists schemaName="<your_schema_name>"/>
</not>
</preConditions>
<createTable tableName="<your_table_name>">
<column name="id" type="INT">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="VARCHAR(255)"/>
</createTable>
</changeSet>
```
или
```yaml
- changeSet:
id: 2
author: your_name
preConditions:
- not:
schemaExists:
schemaName: your_schema_name
createTable:
tableName: your_table_name
columns:
- column:
name: id
type: INT
constraints:
primaryKey: true
nullable: false
- column:
name: name
type: VARCHAR(255)
```
5. Закройте файл сценария, добавив следующий код в конце:
```xml
</databaseChangeLog>
```
или
```yaml
```
6. Сохраните файл сценария.
7. Запустите команду Liquibase для применения сценария к базе данных. Например, для применения файла `changelog.xml`, используйте следующую команду:
```bash
liquibase --changeLogFile=changelog.xml --url=jdbc:postgresql://localhost:5432/mydatabase --username=myusername --password=mypassword update
```
или
```bash
liquibase --changeLogFile=changelog.yaml --url=jdbc:postgresql://localhost:5432/mydatabase --username=myusername --password=mypassword update
```
В результате Liquibase применит все изменения из файла сценария к базе данных, создаст схему (если она еще не существует) и создаст необходимые таблицы и другие объекты базы данных.
Помните, что вам нужно заменить `<your_schema_name>` на имя схемы, которую вы хотите создать или проверить, а `<your_table_name>` на имя таблицы