2024-03-17 10:43:19 -03:00
|
|
|
from django.db import models
|
2024-03-17 19:11:59 -03:00
|
|
|
|
2024-03-17 10:43:19 -03:00
|
|
|
import uuid
|
|
|
|
|
|
|
|
|
|
|
|
HOUR_CHOICES = (
|
|
|
|
(0, '00:00'), (1, '01:00'), (2, '02:00'), (3, '03:00'), (4, '04:00'), (5, '05:00'), (6, '06:00'), (7, '07:00'),
|
|
|
|
(8, '08:00'), (9, '09:00'), (10, '10:00'), (11, '11:00'), (12, '12:00'), (13, '13:00'), (14, '14:00'),
|
|
|
|
(15, '15:00'), (16, '16:00'), (17, '17:00'), (18, '18:00'), (19, '19:00'), (20, '20:00'), (21, '21:00'),
|
|
|
|
(22, '22:00'), (23, '23:00')
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
class BackupProfile(models.Model):
|
|
|
|
name = models.CharField(max_length=100, unique=True)
|
|
|
|
daily_backup = models.BooleanField(default=True)
|
|
|
|
weekly_backup = models.BooleanField(default=False)
|
|
|
|
monthly_backup = models.BooleanField(default=False)
|
|
|
|
|
2024-04-02 16:56:35 -03:00
|
|
|
daily_retention = models.IntegerField(default=7)
|
2024-03-17 10:43:19 -03:00
|
|
|
weekly_retention = models.IntegerField(default=30)
|
2024-04-02 16:56:35 -03:00
|
|
|
monthly_retention = models.IntegerField(default=365)
|
|
|
|
instant_retention = models.IntegerField(default=3650)
|
2024-03-17 10:43:19 -03:00
|
|
|
retain_backups_on_error = models.BooleanField(default=True)
|
|
|
|
|
2024-11-07 10:59:36 -03:00
|
|
|
parameter_sensitive = models.BooleanField(default=False)
|
|
|
|
parameter_terse = models.BooleanField(default=False)
|
|
|
|
|
2024-03-17 10:43:19 -03:00
|
|
|
daily_day_monday = models.BooleanField(default=True)
|
|
|
|
daily_day_tuesday = models.BooleanField(default=True)
|
|
|
|
daily_day_wednesday = models.BooleanField(default=True)
|
|
|
|
daily_day_thursday = models.BooleanField(default=True)
|
|
|
|
daily_day_friday = models.BooleanField(default=True)
|
|
|
|
daily_day_saturday = models.BooleanField(default=True)
|
|
|
|
daily_day_sunday = models.BooleanField(default=True)
|
|
|
|
|
2024-03-17 17:24:56 -03:00
|
|
|
weekly_day = models.CharField(max_length=10, default='sunday', choices=(('monday', 'Monday'), ('tuesday', 'Tuesday'), ('wednesday', 'Wednesday'), ('thursday', 'Thursday'), ('friday', 'Friday'), ('saturday', 'Saturday'), ('sunday', 'Sunday')))
|
2024-03-17 10:43:19 -03:00
|
|
|
monthly_day = models.IntegerField(default=1, choices=((1, '1st'), (7, '7th'), (14, '14th'), (21, '21st'), (28, '28th')))
|
|
|
|
|
|
|
|
daily_hour = models.IntegerField(default=3, choices=HOUR_CHOICES)
|
|
|
|
weekly_hour = models.IntegerField(default=1, choices=HOUR_CHOICES)
|
|
|
|
monthly_hour = models.IntegerField(default=0, choices=HOUR_CHOICES)
|
|
|
|
|
|
|
|
max_retry = models.IntegerField(default=3, choices=((1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')))
|
2024-03-17 17:24:56 -03:00
|
|
|
retry_interval = models.IntegerField(default=30, choices=((1, '1 Minute'), (15, '15 Minutes'), (30, '30 Minutes'), (60, '1 Hour')))
|
2024-04-02 16:56:35 -03:00
|
|
|
retrieve_interval = models.IntegerField(default=60, choices=((15, '15 Seconds'), (30, '30 Seconds'), (60, '1 Minute'), (900, '15 Minutes'), (1800, '30 Minutes'), (3600, '1 Hour')))
|
2024-07-09 16:07:38 -03:00
|
|
|
backup_interval = models.IntegerField(default=0, choices=((0, 'No interval'), (5, '5 seconds'), (60, '1 minute')))
|
2024-03-17 10:43:19 -03:00
|
|
|
|
2024-04-02 16:56:35 -03:00
|
|
|
profile_error_information = models.CharField(max_length=100, blank=True, null=True)
|
|
|
|
|
2024-03-17 10:43:19 -03:00
|
|
|
updated = models.DateTimeField(auto_now=True)
|
|
|
|
created = models.DateTimeField(auto_now_add=True)
|
|
|
|
uuid = models.UUIDField(unique=True, editable=False, default=uuid.uuid4)
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.name
|
|
|
|
|