Junior — Middle
111
Cum să creezi și să configurezi corect un script pentru gestionarea migrărilor bazei de date cu Liquibase?
Companiile au fost întrebate
Răspuns de la AI
sobes.tech AI
Для управления миграциями базы данных с помощью Liquibase нужно создать changelog-файл, описывающий изменения схемы, и настроить скрипт для запуска миграций.
- Создайте файл changelog, например
db.changelog-master.xml, где опишите изменения в формате XML, YAML или JSON. Пример 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-3.8.xsd">
<changeSet id="1" author="user">
<createTable tableName="person">
<column name="id" type="int" autoIncrement="true">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(255)"/>
</createTable>
</changeSet>
</databaseChangeLog>
- Настройте скрипт для запуска миграций. Если используете Maven, добавьте плагин liquibase-maven-plugin и настройте его в
pom.xml:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>4.15.0</version>
<configuration>
<changeLogFile>src/main/resources/db.changelog-master.xml</changeLogFile>
<url>jdbc:postgresql://localhost:5432/mydb</url>
<username>user</username>
<password>password</password>
</configuration>
</plugin>
- Запускайте миграции командой:
mvn liquibase:update
Если используете Gradle или standalone Liquibase, настройка аналогична: указываете changelog, параметры подключения и запускаете команду обновления.
Важно: храните changelog в системе контроля версий, используйте уникальные id для changeSet, и тестируйте миграции на тестовой базе перед продакшеном.