fix(entity): @Column name explicite sur BackupConfig/BackupRecord

Sans @Column(name=...), Hibernate génère des noms camelCase (includedatabase)
alors que V16 a créé les colonnes en snake_case (include_database).
Alignement explicite avec les conventions des autres entités.
This commit is contained in:
dahoud
2026-04-05 11:51:41 +00:00
parent f22b3472a8
commit 8352ea1669
2 changed files with 20 additions and 18 deletions

View File

@@ -16,37 +16,37 @@ import lombok.NoArgsConstructor;
@EqualsAndHashCode(callSuper = true)
public class BackupConfig extends BaseEntity {
@Column(nullable = false)
@Column(name = "auto_backup_enabled", nullable = false)
@Builder.Default
private Boolean autoBackupEnabled = true;
/** HOURLY, DAILY, WEEKLY */
@Column(nullable = false, length = 20)
@Column(name = "frequency", nullable = false, length = 20)
@Builder.Default
private String frequency = "DAILY";
@Column(nullable = false)
@Column(name = "retention_days", nullable = false)
@Builder.Default
private Integer retentionDays = 30;
/** HH:mm format, e.g. "02:00" */
@Column(nullable = false, length = 10)
@Column(name = "backup_time", nullable = false, length = 10)
@Builder.Default
private String backupTime = "02:00";
@Column(nullable = false)
@Column(name = "include_database", nullable = false)
@Builder.Default
private Boolean includeDatabase = true;
@Column(nullable = false)
@Column(name = "include_files", nullable = false)
@Builder.Default
private Boolean includeFiles = false;
@Column(nullable = false)
@Column(name = "include_configuration", nullable = false)
@Builder.Default
private Boolean includeConfiguration = true;
/** Absolute path where backup files are stored */
@Column(length = 500)
@Column(name = "backup_directory", length = 500)
private String backupDirectory;
}

View File

@@ -18,42 +18,44 @@ import java.time.LocalDateTime;
@EqualsAndHashCode(callSuper = true)
public class BackupRecord extends BaseEntity {
@Column(nullable = false, length = 200)
@Column(name = "name", nullable = false, length = 200)
private String name;
@Column(length = 500)
@Column(name = "description", length = 500)
private String description;
/** AUTO, MANUAL, RESTORE_POINT */
@Column(nullable = false, length = 50)
@Column(name = "type", nullable = false, length = 50)
private String type;
@Column(name = "size_bytes")
private Long sizeBytes;
/** IN_PROGRESS, COMPLETED, FAILED */
@Column(nullable = false, length = 50)
@Column(name = "status", nullable = false, length = 50)
private String status;
@Column(name = "completed_at")
private LocalDateTime completedAt;
@Column(length = 200)
@Column(name = "created_by", length = 200)
private String createdBy;
@Column(nullable = false)
@Column(name = "includes_database", nullable = false)
@Builder.Default
private Boolean includesDatabase = true;
@Column(nullable = false)
@Column(name = "includes_files", nullable = false)
@Builder.Default
private Boolean includesFiles = false;
@Column(nullable = false)
@Column(name = "includes_configuration", nullable = false)
@Builder.Default
private Boolean includesConfiguration = true;
@Column(length = 500)
@Column(name = "file_path", length = 500)
private String filePath;
@Column(columnDefinition = "TEXT")
@Column(name = "error_message", columnDefinition = "TEXT")
private String errorMessage;
}