Middle
Ի՞նչ փորձ ունեք Liquibase-ով աշխատելու մասին։
sobes.tech AI
Պատասխան AI-ից
Liquibase-ով աշխատանքային փորձը ներառում է.
- Տվյալների բազայի սիմայի տարբերակների կառավարում:
changelogֆայլերի (XML, YAML, JSON) օգտագործում DDL և DML սցենարների համար: - Միգրացիաների ավտոմատացում: Liquibase- ի ինտեգրացիա CI/CD պայլիներում՝ սիմայի փոփոխությունները ավտոմատ կիրառելու համար թողարկումների ժամանակ:
- Տարբեր տվյալների բազաների հետ աշխատում: Liquibase- ի փորձ PostgreSQL, MySQL և Oracle- ի հետ:
- Rollback-ներ: Վերադարձի սցենարների ստեղծում և փորձարկում (
rollbackկամtag): - Համակարգչային հրամանների տողից օգտվել: Միգրացիաների իրականցում,
changelogֆայլերի սերունդ և վիճակի ստուգում:
Նմուշային changelog ֆայլի կառուցվածքը:
<!-- /changelog.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<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-4.0.xsd">
<include file="changeset/create_users_table.xml" relativeToChangelogFile="true"/>
<include file="changeset/add_index_to_users_table.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
Նմուշ changeset:
<!-- /changeset/create_users_table.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<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-4.0.xsd">
<changeSet id="create-users-table" author="devops-engineer">
<createTable tableName="users">
<column name="id" type="INT">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="username" type="VARCHAR(50)">
<constraints nullable="false" unique="true"/>
</column>
<column name="created_at" type="TIMESTAMP WITHOUT TIME ZONE" defaultValueComputed="CURRENT_TIMESTAMP"/>
</createTable>
<rollback>
<dropTable tableName="users"/>
</rollback>
</changeSet>
</databaseChangeLog>
Համակարգչային հրամանների տողից օգտվել:
# Բոլոր փոփոխությունները կիրառել
liquibase update
# Ռամկային սցենտ ստեղծել ձեռնարկատիրական կիրառման համար
liquibase updateSQL > update.sql
# Վերադառնալ նշված տեգին
liquibase rollback <tag_name>
# Փոփոխությունների վիճակի ցուցադրում
liquibase status
Տվյալների աղյուսակների և փորձնական տվյալների հետ աշխատում loadData-ով:
Լայնորեն կիրառվող Liquibase սցենարներ:
- Նոր տարբերակների տեղադրում ծրագրերում
- Տվյալների բազայում սխալների ուղղում
- Փորձնական միջավայրերի ստեղծում
Լիարժեք առավելությունները:
- Տվյալների բազայի սիմայի տարբերակների վերահսկում
- Անկախություն կոնկրետ SGBD-ից
- Փոփոխությունների վերականգնում
- Լավ ինտեգրում CI/CD-ների հետ։