Sobes.tech
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-файл, описывающий изменения схемы, и настроить скрипт для запуска миграций.

  1. Создайте файл 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>
  1. Настройте скрипт для запуска миграций. Если используете 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>
  1. Запускайте миграции командой:
mvn liquibase:update

Если используете Gradle или standalone Liquibase, настройка аналогична: указываете changelog, параметры подключения и запускаете команду обновления.

Важно: храните changelog в системе контроля версий, используйте уникальные id для changeSet, и тестируйте миграции на тестовой базе перед продакшеном.