[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-liquibase-kak-integrirovat-liquibase-so-spring-boot":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},960,"kak-integrirovat-liquibase-so-spring-boot",29,"liquibase","Liquibase","💧","Как интегрировать Liquibase со Spring Boot?","Интеграция Liquibase со Spring Boot сводится к добавлению зависимости и настройке свойств — автоконфигурация Spring Boot делает остальное.\n\n### Подключение зависимости\n\n```xml\n\u003Cdependency>\n    \u003CgroupId>org.liquibase\u003C\u002FgroupId>\n    \u003CartifactId>liquibase-core\u003C\u002FartifactId>\n\u003C\u002Fdependency>\n```\n\nВ Spring Boot Starter уже есть автоконфигурация — достаточно добавить зависимость, и Liquibase запустится автоматически при старте приложения.\n\n### Основные свойства (application.properties)\n\n\u003Cdetails>\u003Csummary>Полный список свойств\u003C\u002Fsummary>\n\n```properties\n# Путь к master changelog (по умолчанию classpath:db\u002Fchangelog\u002Fdb.changelog-master.yaml)\nspring.liquibase.change-log=classpath:db\u002Fchangelog\u002Fdb.changelog-master.xml\n\n# Включить\u002Fотключить Liquibase (по умолчанию true)\nspring.liquibase.enabled=true\n\n# Контексты для выполнения\nspring.liquibase.contexts=dev\n\n# Метки для фильтрации\nspring.liquibase.label-filter=release-1.0\n\n# Схема по умолчанию\nspring.liquibase.default-schema=public\n\n# Схема для служебных таблиц Liquibase\nspring.liquibase.liquibase-schema=liquibase\n\n# Удалить все объекты перед миграцией (осторожно! только для тестов)\nspring.liquibase.drop-first=false\n\n# Отдельный источник данных для Liquibase (если нужен другой пользователь)\nspring.liquibase.url=jdbc:postgresql:\u002F\u002Flocalhost:5432\u002Fmydb\nspring.liquibase.user=liquibase_admin\nspring.liquibase.password=secret\n\n# Параметры для подстановки в changelog\nspring.liquibase.parameters.env=dev\n```\n\n\u003C\u002Fdetails>\n\n### Пример application.yml\n\n```yaml\nspring:\n  liquibase:\n    change-log: classpath:db\u002Fchangelog\u002Fdb.changelog-master.xml\n    enabled: true\n    contexts: ${LIQUIBASE_CONTEXTS:dev}\n    default-schema: public\n```\n\n### Порядок работы\n\n1. При старте приложения Spring Boot автоматически запускает `SpringLiquibase` bean\n2. Liquibase подключается к БД, используя `DataSource` приложения (или отдельный, если указан)\n3. Создаёт служебные таблицы (если их нет)\n4. Проверяет и применяет невыполненные changeset-ы\n5. Только после успешного завершения миграций приложение продолжает старт\n\nЕсли миграция завершилась ошибкой, приложение **не запустится** — это правильное поведение, так как работа с несогласованной схемой БД недопустима.\n\n> **На собеседовании:** интервьюер ожидает, что вы знаете путь к changelog по умолчанию и понимаете, что миграции выполняются до старта приложения. Частая ошибка — не знать, что при ошибке миграции приложение не поднимется.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":19,"featuredSnippetReady":22},"Как интегрировать Liquibase со Spring Boot? — Gymterview","Интеграция Liquibase со Spring Boot сводится к добавлению зависимости и настройке свойств — автоконфигурация Spring Boot делает остальное.","Интеграция Liquibase со Spring Boot сводится к добавлению зависимости и настройке свойств — автоконфигурация Spring Boot",[7,13],true]