liquibase detallado

Liquibase es una herramienta de reconstrucción de bases de datos de código abierto para rastrear, administrar y aplicar cambios en la base de datos. Guarda todos los cambios de la base de datos (incluidos los datos y la estructura) en archivos XML para un fácil control de versiones.

características de liquibase

  • No depende de una base de datos específica y actualmente admite una variedad de bases de datos, incluidas Oracle / Sql / Mysql. Esto ayuda al sistema de aplicación a admitir múltiples bases de datos en el proceso de implementación y actualización de la base de datos.
  • Proporcionar la función de comparación de la base de datos, el resultado de la comparación se guarda en XML, basado en el XML puede utilizar liquibase para implementar o actualizar fácilmente la base de datos.
  • Los cambios de la base de datos se almacenan en XML y un cambio (ChangeSet) se identifica de forma única por el autor y el ID, lo que admite la combinación de cambios de la base de datos y permite que varios desarrolladores trabajen al mismo tiempo.
  • El historial de cambios de la base de datos (DatabaseChangeHistory) se guarda en la base de datos y los cambios aplicados (ChangeSet) se omiten automáticamente cuando se actualiza la base de datos.
  • Proporciona la función de reversión de las aplicaciones modificadas, que puede revertir los cambios que se han aplicado por tiempo, cantidad o etiqueta. De esta forma, los desarrolladores pueden restaurar fácilmente el estado de la base de datos en cualquier momento.
  • Puede generar documentos de modificación de datos (formato HTML).
  • Proporcione complementos independientes de IDE y Eclipse para la reconstrucción de datos.

Use liquibase para administrar los cambios de la base de datos

Pasos de uso

  • Paso 1: Cree un archivo de registro de cambios de la base de datos (registro de cambios).
  • Paso 2: Cree un conjunto de cambios dentro del archivo de registro de cambios.
  • Paso 3: Realice cambios en la base de datos a través de la línea de comandos o compile el script.
  • Paso 4: Verifique los cambios en la base de datos.

paso 1: Cree un archivo de registro de cambios (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-3.1.xsd">
 
</databaseChangeLog>

paso 2: agregar conjunto de cambios

<?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-3.1.xsd">
 
<changeSet id="1" author="bob">
<createTable tableName="department">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(50)">
<constraints nullable="false"/>
</column>
<column name="active" type="boolean" defaultValueBoolean="true"/>
</createTable>
</changeSet>
 
</databaseChangeLog>

Cada conjunto de cambios se identifica de forma única por el atributo "id" y el atributo "autor". El atributo "autor" puede minimizar la posibilidad de duplicación. Liquibase trata cada conjunto de cambios como un cambio atómico que se aplicará a la base de datos. Por lo general, es mejor incluir solo un cambio en el conjunto de cambios.

paso 3: Ejecute ChangeSet

Liquibase se puede ejecutar con herramientas como la línea de comando Ant Maven Spring

Demostración de comandos

liquibase --driver=com.mysql.jdbc.Driver \
--classpath=/path/to/classes \
--changeLogFile=com/example/db.changelog.xml \
--url="jdbc:mysql://localhost/example" \
--username=user \
--password=asdf \
update

paso 4: verifique la base de datos

Una vez finalizada la operación, la base de datos contendrá una tabla denominada "departamento". Se creó otra tabla: "databasechangelog" y "databasechangeloglock". La tabla databasechangelog contiene una lista de todas las declaraciones que se han ejecutado en la base de datos. La tabla databasechangeloglock se utiliza para garantizar que dos computadoras no intenten modificar la base de datos al mismo tiempo.

Operaciones de bases de datos comunes:

Añadir columna

Al comienzo del proyecto, es casi imposible considerar todas las columnas de la base de datos. A veces, los usuarios requieren nuevas funciones, por ejemplo, recopilar más datos para la información almacenada en el sistema, lo que requiere agregar nuevas columnas.

Utilice la reconstrucción de la base de datos Agregar columna en el conjunto de cambios LiquiBase

<!--向数据库的distributor表添加了一个列-->
<changeSet id="4" author="tom">
    <addColumn tableName="distributor">
    <column name="phonenumber" type="varchar(255)"/>
    <addColumn>
</changeSet>

 Crear mesa

<!--向数据库添加一个新表,并定义列、约束和默认值-->
<changeSet id="3" author="betsey">
<createTable tableName="distributor">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(255)">
<constraints nullable="false"/>
</column>
<column name="address" type="varchar(255)">
<constraints nullable="true"/>
</column>
<column name="active" type="boolean" defaultValue="1"/>
</createTable>
</changeSet>

Datos operativos

<!--插入数据-->
<changeSet id="3" author="betsey">
<code type="section" width="100%">
<insert tableName="distributor">
<column name="id" valueNumberic="3"/>
<column name="name" value="Beer Company"/>
</insert>
<insert tableName="distributor">
<column name="id" valueNumberic="4"/>
<column name="name" value="Beer Distributors"/>
</insert>
</changeSet>

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/li_w_ch/article/details/109125209
Recomendado
Clasificación