[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-liquibase-chto-takoe-tag-i-tagdatabase":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},963,"chto-takoe-tag-i-tagdatabase",29,"liquibase","Liquibase","💧","Что такое tag и tagDatabase?","Tag — это именованная метка, которая ставится на определённое состояние БД и используется как контрольная точка для отката.\n\n> Аналогия из жизни: тег — это как закладка в книге. Если что-то пошло не так после нескольких страниц, вы возвращаетесь к закладке, а не перечитываете с начала.\n\n### Установка тега через командную строку\n\n```bash\nliquibase tag release-1.0\n```\n\nЭта команда добавляет запись в столбец `TAG` последнего выполненного changeset в таблице DATABASECHANGELOG.\n\n### Установка тега через changeset\n\n```xml\n\u003CchangeSet id=\"tag-release-1.0\" author=\"release-manager\">\n    \u003CtagDatabase tag=\"release-1.0\"\u002F>\n\u003C\u002FchangeSet>\n```\n\n### Откат до тега\n\n```bash\nliquibase rollback release-1.0\n```\n\nLiquibase откатит все changeset-ы, применённые **после** указанного тега, в обратном порядке.\n\n\u003Cdetails>\u003Csummary>Типичная схема использования тегов\u003C\u002Fsummary>\n\n```xml\n\u003C!-- Тег перед релизом -->\n\u003CchangeSet id=\"tag-1.0\" author=\"release\">\n    \u003CtagDatabase tag=\"release-1.0\"\u002F>\n\u003C\u002FchangeSet>\n\n\u003C!-- Миграции релиза 1.1 -->\n\u003CchangeSet id=\"add-status-to-users\" author=\"dev\">\n    \u003CaddColumn tableName=\"users\">\n        \u003Ccolumn name=\"status\" type=\"VARCHAR(20)\" defaultValue=\"ACTIVE\"\u002F>\n    \u003C\u002FaddColumn>\n\u003C\u002FchangeSet>\n\n\u003C!-- Тег после релиза -->\n\u003CchangeSet id=\"tag-1.1\" author=\"release\">\n    \u003CtagDatabase tag=\"release-1.1\"\u002F>\n\u003C\u002FchangeSet>\n```\n\n\u003C\u002Fdetails>\n\nТеги особенно важны в банковских проектах, где откат до известного стабильного состояния должен быть возможен в любой момент.\n\n> **На собеседовании:** интервьюер может спросить, как быстро откатить релиз. Правильный ответ — использовать теги: ставим тег перед релизом, при проблемах делаем rollback до этого тега.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":19,"featuredSnippetReady":22},"Что такое tag и tagDatabase? — Gymterview","Tag — это именованная метка, которая ставится на определённое состояние БД и используется как контрольная точка для отката.","Tag — это именованная метка, которая ставится на определённое состояние БД и используется как контрольная точка для отка",[7,13],true]