mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 00:48:49 +00:00
Compare commits
2 Commits
dbd3687b34
...
59f7d315d9
| Author | SHA1 | Date | |
|---|---|---|---|
| 59f7d315d9 | |||
| c35c0780c3 |
14
liquibase.properties
Normal file
14
liquibase.properties
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# liquibase.properties (RAÍZ DEL PROYECTO)
|
||||||
|
classpath=target/classes
|
||||||
|
|
||||||
|
# Conexión (ajusta DB, user y pass)
|
||||||
|
url=jdbc:mysql://localhost:3309/imprimelibros
|
||||||
|
#url=jdbc:mysql://localhost:3306/imprimelibros?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
|
||||||
|
username=imprimelibros_user
|
||||||
|
password=om91irrDctd
|
||||||
|
|
||||||
|
# Archivo que se generará con el snapshot (DEBE EXISTIR LA CARPETA)
|
||||||
|
#outputChangeLogFile=src/main/resources/db/changelog/changesets/0001-baseline.yml
|
||||||
|
|
||||||
|
# Para LEER los cambios en los demás comandos (sync, update, rollback…)
|
||||||
|
changeLogFile=src/main/resources/db/changelog/master.yml
|
||||||
19
pom.xml
19
pom.xml
@ -29,6 +29,7 @@
|
|||||||
</scm>
|
</scm>
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>21</java.version>
|
<java.version>21</java.version>
|
||||||
|
<liquibase.version>4.29.2</liquibase.version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -143,6 +144,13 @@
|
|||||||
<version>1.0.10</version>
|
<version>1.0.10</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Migraciones -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.liquibase</groupId>
|
||||||
|
<artifactId>liquibase-core</artifactId>
|
||||||
|
<version>${liquibase.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -151,6 +159,17 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
|
<!-- (Migraciones) Plugin Maven para generar/ejecutar changelogs -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.liquibase</groupId>
|
||||||
|
<artifactId>liquibase-maven-plugin</artifactId>
|
||||||
|
<version>4.29.2</version>
|
||||||
|
<configuration>
|
||||||
|
<!-- Usa variables de Maven/CI o un liquibase.properties -->
|
||||||
|
<propertyFile>liquibase.properties</propertyFile>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
|||||||
@ -92,3 +92,13 @@ spring.jpa.properties.hibernate.jdbc.time_zone=UTC
|
|||||||
# PDF Templates
|
# PDF Templates
|
||||||
imprimelibros.pdf.templates.PRESUPUESTO_presupuesto-a4=imprimelibros/pdf/presupuesto-a4
|
imprimelibros.pdf.templates.PRESUPUESTO_presupuesto-a4=imprimelibros/pdf/presupuesto-a4
|
||||||
imprimelibros.pdf.templates.FACTURA_factura-a4=imprimelibros/pdf/factura-a4
|
imprimelibros.pdf.templates.FACTURA_factura-a4=imprimelibros/pdf/factura-a4
|
||||||
|
|
||||||
|
# Liquibase
|
||||||
|
spring.liquibase.enabled=true
|
||||||
|
spring.liquibase.change-log=classpath:db/changelog/master.yml
|
||||||
|
# Si quieres especificar el schema por defecto:
|
||||||
|
# spring.liquibase.default-schema=imprimelibros
|
||||||
|
# Si necesitas parámetros de conexión distintos a los de Spring Data (no suele hacer falta):
|
||||||
|
# spring.liquibase.url=jdbc:mysql://localhost:3306/imprimelibros
|
||||||
|
# spring.liquibase.user=tu_user
|
||||||
|
# spring.liquibase.password=tu_pass
|
||||||
|
|||||||
1065
src/main/resources/db/changelog/changesets/0001-baseline.yml
Normal file
1065
src/main/resources/db/changelog/changesets/0001-baseline.yml
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,146 @@
|
|||||||
|
databaseChangeLog:
|
||||||
|
- changeSet:
|
||||||
|
id: 0002-create-pedidos
|
||||||
|
author: jjo
|
||||||
|
|
||||||
|
preConditions:
|
||||||
|
- not:
|
||||||
|
tableExists:
|
||||||
|
tableName: pedidos
|
||||||
|
|
||||||
|
changes:
|
||||||
|
- createTable:
|
||||||
|
tableName: pedidos
|
||||||
|
columns:
|
||||||
|
- column:
|
||||||
|
name: id
|
||||||
|
type: BIGINT AUTO_INCREMENT
|
||||||
|
constraints:
|
||||||
|
primaryKey: true
|
||||||
|
primaryKeyName: pk_pedidos
|
||||||
|
- column:
|
||||||
|
name: presupuesto_id
|
||||||
|
type: BIGINT
|
||||||
|
constraints:
|
||||||
|
nullable: false
|
||||||
|
- column:
|
||||||
|
name: created_by
|
||||||
|
type: BIGINT
|
||||||
|
constraints:
|
||||||
|
nullable: true
|
||||||
|
- column:
|
||||||
|
name: updated_by
|
||||||
|
type: BIGINT
|
||||||
|
constraints:
|
||||||
|
nullable: true
|
||||||
|
- column:
|
||||||
|
name: deleted_by
|
||||||
|
type: BIGINT
|
||||||
|
constraints:
|
||||||
|
nullable: true
|
||||||
|
- column:
|
||||||
|
name: deleted
|
||||||
|
type: TINYINT(1)
|
||||||
|
defaultValueNumeric: 0
|
||||||
|
constraints:
|
||||||
|
nullable: false
|
||||||
|
- column:
|
||||||
|
name: created_at
|
||||||
|
type: TIMESTAMP
|
||||||
|
defaultValueComputed: CURRENT_TIMESTAMP
|
||||||
|
constraints:
|
||||||
|
nullable: false
|
||||||
|
- column:
|
||||||
|
name: updated_at
|
||||||
|
type: TIMESTAMP
|
||||||
|
defaultValueComputed: CURRENT_TIMESTAMP
|
||||||
|
constraints:
|
||||||
|
nullable: false
|
||||||
|
- column:
|
||||||
|
name: deleted_at
|
||||||
|
type: TIMESTAMP
|
||||||
|
constraints:
|
||||||
|
nullable: true
|
||||||
|
|
||||||
|
# Forzamos ON UPDATE para updated_at (MySQL/MariaDB)
|
||||||
|
- sql:
|
||||||
|
dbms: mysql
|
||||||
|
splitStatements: false
|
||||||
|
sql: |
|
||||||
|
ALTER TABLE pedidos
|
||||||
|
MODIFY COLUMN updated_at TIMESTAMP NOT NULL
|
||||||
|
DEFAULT CURRENT_TIMESTAMP
|
||||||
|
ON UPDATE CURRENT_TIMESTAMP;
|
||||||
|
|
||||||
|
# Índices
|
||||||
|
- createIndex:
|
||||||
|
tableName: pedidos
|
||||||
|
indexName: idx_pedidos_presupuesto
|
||||||
|
columns:
|
||||||
|
- column:
|
||||||
|
name: presupuesto_id
|
||||||
|
- createIndex:
|
||||||
|
tableName: pedidos
|
||||||
|
indexName: idx_pedidos_deleted
|
||||||
|
columns:
|
||||||
|
- column:
|
||||||
|
name: deleted
|
||||||
|
|
||||||
|
# Claves foráneas (ajusta nombres si difieren)
|
||||||
|
- addForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
baseColumnNames: presupuesto_id
|
||||||
|
constraintName: fk_pedidos_presupuesto
|
||||||
|
referencedTableName: presupuesto
|
||||||
|
referencedColumnNames: id
|
||||||
|
onDelete: RESTRICT
|
||||||
|
onUpdate: RESTRICT
|
||||||
|
|
||||||
|
- addForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
baseColumnNames: created_by
|
||||||
|
constraintName: fk_pedidos_created_by
|
||||||
|
referencedTableName: users
|
||||||
|
referencedColumnNames: id
|
||||||
|
onDelete: SET NULL
|
||||||
|
onUpdate: RESTRICT
|
||||||
|
|
||||||
|
- addForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
baseColumnNames: updated_by
|
||||||
|
constraintName: fk_pedidos_updated_by
|
||||||
|
referencedTableName: users
|
||||||
|
referencedColumnNames: id
|
||||||
|
onDelete: SET NULL
|
||||||
|
onUpdate: RESTRICT
|
||||||
|
|
||||||
|
- addForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
baseColumnNames: deleted_by
|
||||||
|
constraintName: fk_pedidos_deleted_by
|
||||||
|
referencedTableName: users
|
||||||
|
referencedColumnNames: id
|
||||||
|
onDelete: SET NULL
|
||||||
|
onUpdate: RESTRICT
|
||||||
|
|
||||||
|
rollback:
|
||||||
|
- dropForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
constraintName: fk_pedidos_deleted_by
|
||||||
|
- dropForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
constraintName: fk_pedidos_updated_by
|
||||||
|
- dropForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
constraintName: fk_pedidos_created_by
|
||||||
|
- dropForeignKeyConstraint:
|
||||||
|
baseTableName: pedidos
|
||||||
|
constraintName: fk_pedidos_presupuesto
|
||||||
|
- dropIndex:
|
||||||
|
tableName: pedidos
|
||||||
|
indexName: idx_pedidos_deleted
|
||||||
|
- dropIndex:
|
||||||
|
tableName: pedidos
|
||||||
|
indexName: idx_pedidos_presupuesto
|
||||||
|
- dropTable:
|
||||||
|
tableName: pedidos
|
||||||
5
src/main/resources/db/changelog/master.yml
Normal file
5
src/main/resources/db/changelog/master.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
databaseChangeLog:
|
||||||
|
- include:
|
||||||
|
file: db/changelog/changesets/0001-baseline.yml
|
||||||
|
- include:
|
||||||
|
file: db/changelog/changesets/0002-create-pedidos.yml
|
||||||
Reference in New Issue
Block a user