[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-liquibase-kakie-osnovnye-tipy-izmeneniy-change-types-sushchestvuyut-v-liquibase":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},953,"kakie-osnovnye-tipy-izmeneniy-change-types-sushchestvuyut-v-liquibase",29,"liquibase","Liquibase","💧","Какие основные типы изменений (change types) существуют в Liquibase?","Change types — это встроенные операции Liquibase, которые абстрагируют SQL-команды и позволяют описывать изменения схемы декларативно.\n\n### Работа с таблицами\n\n| Change Type | Описание |\n|---|---|\n| `createTable` | Создание таблицы |\n| `dropTable` | Удаление таблицы |\n| `renameTable` | Переименование таблицы |\n| `addColumn` | Добавление столбца |\n| `dropColumn` | Удаление столбца |\n| `renameColumn` | Переименование столбца |\n| `modifyDataType` | Изменение типа данных столбца |\n| `addNotNullConstraint` | Добавление ограничения NOT NULL |\n| `dropNotNullConstraint` | Удаление ограничения NOT NULL |\n| `addDefaultValue` | Установка значения по умолчанию |\n\n### Ключи и ограничения\n\n| Change Type | Описание |\n|---|---|\n| `addPrimaryKey` | Добавление первичного ключа |\n| `dropPrimaryKey` | Удаление первичного ключа |\n| `addForeignKeyConstraint` | Добавление внешнего ключа |\n| `dropForeignKeyConstraint` | Удаление внешнего ключа |\n| `addUniqueConstraint` | Добавление уникального ограничения |\n| `dropUniqueConstraint` | Удаление уникального ограничения |\n\n### Индексы\n\n| Change Type | Описание |\n|---|---|\n| `createIndex` | Создание индекса |\n| `dropIndex` | Удаление индекса |\n\n### Представления и последовательности\n\n| Change Type | Описание |\n|---|---|\n| `createView` | Создание представления (VIEW) |\n| `dropView` | Удаление представления |\n| `createSequence` | Создание последовательности |\n| `dropSequence` | Удаление последовательности |\n| `alterSequence` | Изменение последовательности |\n\n### SQL напрямую\n\n| Change Type | Описание |\n|---|---|\n| `sql` | Выполнение произвольного SQL |\n| `sqlFile` | Выполнение SQL из файла |\n\n\u003Cdetails>\u003Csummary>Пример использования нескольких change types\u003C\u002Fsummary>\n\n```xml\n\u003CchangeSet id=\"3\" author=\"kozlov\">\n    \u003CaddColumn tableName=\"users\">\n        \u003Ccolumn name=\"email\" type=\"VARCHAR(320)\">\n            \u003Cconstraints nullable=\"false\"\u002F>\n        \u003C\u002Fcolumn>\n    \u003C\u002FaddColumn>\n\u003C\u002FchangeSet>\n\n\u003CchangeSet id=\"4\" author=\"kozlov\">\n    \u003CcreateIndex indexName=\"idx_users_email\" tableName=\"users\">\n        \u003Ccolumn name=\"email\"\u002F>\n    \u003C\u002FcreateIndex>\n\u003C\u002FchangeSet>\n\n\u003CchangeSet id=\"5\" author=\"kozlov\">\n    \u003CaddForeignKeyConstraint\n        constraintName=\"fk_orders_user\"\n        baseTableName=\"orders\"\n        baseColumnNames=\"user_id\"\n        referencedTableName=\"users\"\n        referencedColumnNames=\"id\"\n        onDelete=\"CASCADE\"\n        onUpdate=\"NO ACTION\"\u002F>\n\u003C\u002FchangeSet>\n```\n\n\u003C\u002Fdetails>\n\n> **На собеседовании:** не нужно заучивать все типы. Достаточно знать основные категории (таблицы, столбцы, ключи, индексы, SQL) и понимать, что change types обеспечивают кроссплатформенность — один и тот же XML работает для PostgreSQL и Oracle.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":19,"featuredSnippetReady":22},"Какие основные типы изменений (change types) существуют в Li — Gymterview","Change types — это встроенные операции Liquibase, которые абстрагируют SQL-команды и позволяют описывать изменения схемы декларативно.","Change types — это встроенные операции Liquibase, которые абстрагируют SQL-команды и позволяют описывать изменения схемы",[7,13],true]