Breaking

Post Top Ad

Your Ad Spot

martes, 24 de septiembre de 2019

SpringBoot, Liquibase y MariaDB

Foto de los creadores de campaƱa en Unsplash
En esta historia, vamos a desarrollar una aplicación SpringBoot que gestiona una instancia de MariaDB con la ayuda de Liquibase.
Supongamos el caso de uso simple a continuación.
Queremos modelar dos entidades: Estudiante y Examen . Cada estudiante puede tomar uno o mĆ”s exĆ”menes con la calificación correspondiente.
Tenga en cuenta que, obviamente, este ER-Diagram es solo un modelo trivial para profundizar rƔpidamente en la prƔctica.

Visión de conjunto

Liquibase proporciona una forma independiente de la base de datos para ofrecer una implementación de base de datos rĆ”pida, segura y repetible en liquibase.org
Los cambios en la base de datos se almacenan en archivos XML, YAML, JSON o SQL identificados por una combinación de etiquetas de identificación y autor, así como el nombre del archivo en sí.
Liquibase, ademĆ”s de nuestras tablas, crea automĆ”ticamente tablas DatabaseChangeLog y DatabaseChangeLogLock cuando ejecuta por primera vez un archivo changeLog.
Definitivamente, Liquibase se basa en un mecanismo simple
  1. Utiliza un registro de cambios para enumerar explĆ­citamente los cambios en la base de datos en un orden especĆ­fico. Cada cambio en el registro de cambios es un conjunto de cambios .
  2. Utiliza una tabla de seguimiento (el DatabaseChangeLog anterior) que reside en cada base de datos y que rastrea quĆ© conjuntos de cambios en el registro de cambios se han implementado.
Entonces, con este tipo de libro mayor, Liquibase puede rastrear y versionar los cambios de la base de datos y, ademƔs, puede implementar cambios especƭficos comparando lo que estƔ en el libro mayor con lo que estƔ en la tabla de seguimiento.

Inicio rƔpido de SpringBoot

Vamos a profundizar y ver cómo implementar una aplicación SpringBoot con Liquibase.
Abra una terminal de lĆ­nea de comandos, navegue a su ruta preferida y cree el proyecto maven. El siguiente comando crea un proyecto maven limpio.
arquetipo mvn: generar 
-DgroupId = com.pck.app -DartifactId = aplicación 
-DarchetypeArtifactId = maven-archetype-quickstart -DarchetypeVersion = 1.4 -DinteractiveMode = false
Abra el archivo pom.xml y pegue el código fuente proporcionado para crear la aplicación SpringBoot que importa los controladores Jpa, MariaDB y Liquibase.
El principal App.class se convierte en ...
... habilitando los repositorios Jpa.
¿QuĆ© tenemos que hacer ahora?
Tenemos que crear la carpeta de recursos . Dentro, el archivo application.properties y una carpeta llamada changelog . Dentro de la Ćŗltima carpeta, tenemos que crear otro directorio llamado cambios y el archivo maestro de registro de cambios .
Puede ver la jerarquía completa en la imagen a continuación.
Para tener una visión mĆ”s amplia de las posibilidades que ofrece Liquibase, vamos a utilizar dos tipos de archivo de cambios. El primero como XML, mientras que el Ćŗltimo como SQL.
Por otro lado, db.changelog-master.yaml le dice a Liquibase dónde se almacenan los archivos de cambios. En este caso, el archivo YAML serĆ”
databaseChangeLog: 
  - includeAll: 
      ruta: db / changelog / changes /
Liquibase ejecutarĆ” solo los archivos almacenados en la ruta debajo de la opción –includeAll .
Eche un vistazo rĆ”pido al archivo application.properties
server.port = 8080 

spring.datasource.url = jdbc: mariadb: // localhost: 3306 / liquibase? allowMultiQueries = true 
spring.datasource.username = root 
spring.datasource.password = admin 

spring.jpa.properties.hibernate.temp. use_jdbc_metadata_defaults = false 
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MariaDB103Dialect 

spring.jpa.hibernate.ddl-auto = none
Observe cómo con MariaDB, se necesita la opción allowMultiQueries = true para ejecutar con Ć©xito mĆŗltiples consultas.
Tenga cuidado con el tipo de dialecto que estĆ” utilizando. A partir de la versión 10.3 y posteriores, debe usar org.hibernate.dialect.MariaDB103Dialect que tambiĆ©n proporciona soporte de secuencia.
Una vez que hayamos terminado de administrar estas configuraciones, podemos profundizar en la sintaxis del archivo de cambios.
Comencemos con el archivo XML llamado v_0.0.1.xml . Este archivo se utiliza para crear la estructura base de nuestra base de datos.
Y luego, eche un vistazo al segundo archivo llamado v_0.0.2.sql que se usa para crear secuencias e insertar valores en las tablas.
Ahora, simplemente cree una base de datos liquibase con la conexión MariaDB y ejecute la aplicación SpringBoot.
Finalmente, lo hemos hecho!
Al final, a continuación, aquí estÔ la base de datos generada y las tablas.

No hay comentarios.:

Publicar un comentario

Post Top Ad

Your Ad Spot

PƔginas