feat: implementar Fase 2 del roadmap (Modo Replica Exacta / Mirroring)
This commit is contained in:
@@ -81,7 +81,14 @@ class BackupJob(Base):
|
||||
file_patterns = Column(String(255), default="*.bak,*.mdf", nullable=False)
|
||||
schedule_cron = Column(String(100), default="0 2 * * *", nullable=False) # default 02:00 AM daily
|
||||
is_active = Column(Boolean, default=True, nullable=False)
|
||||
sync_deletions = Column(Boolean, default=False, nullable=False)
|
||||
|
||||
# Advanced Filtering (Karen's Replicator Style)
|
||||
exclude_patterns = Column(String(255), default="", nullable=False)
|
||||
skip_hidden = Column(Boolean, default=False, nullable=False)
|
||||
skip_system = Column(Boolean, default=False, nullable=False)
|
||||
skip_readonly = Column(Boolean, default=False, nullable=False)
|
||||
|
||||
# Retention policies
|
||||
keep_daily = Column(Integer, default=7, nullable=False)
|
||||
keep_weekly = Column(Integer, default=4, nullable=False)
|
||||
@@ -106,6 +113,7 @@ class BackupSession(Base):
|
||||
job_id = Column(Integer, ForeignKey("backup_jobs.id", ondelete="CASCADE"), nullable=True)
|
||||
|
||||
filename = Column(String(512), nullable=False)
|
||||
client_relative_path = Column(String(1024), nullable=True)
|
||||
file_size = Column(BigInteger, nullable=False)
|
||||
chunk_size = Column(Integer, default=4 * 1024 * 1024, nullable=False)
|
||||
total_chunks = Column(Integer, nullable=False)
|
||||
@@ -152,6 +160,7 @@ class BackupFile(Base):
|
||||
|
||||
filename = Column(String(512), nullable=False)
|
||||
relative_path = Column(String(1024), nullable=False)
|
||||
client_relative_path = Column(String(1024), default="", nullable=False)
|
||||
file_size = Column(BigInteger, nullable=False)
|
||||
sha256 = Column(String(64), nullable=False)
|
||||
retention_tag = Column(String(50), default="DAILY", nullable=False) # DAILY, WEEKLY, MONTHLY, MANUAL
|
||||
|
||||
Reference in New Issue
Block a user