Fix bug where backups would not run due to extraneous character in server init

This commit is contained in:
Andrew 2022-01-12 01:24:03 -05:00
parent 799b563e5f
commit 7981f90a77
3 changed files with 21 additions and 17 deletions

View File

@ -127,8 +127,6 @@ class Backups(Model):
directories = CharField(null=True)
max_backups = IntegerField()
server_id = ForeignKeyField(Servers, backref='backups_server')
schedule_id = ForeignKeyField(Schedules, backref='backups_schedule')
class Meta:
table_name = 'backups'
database = database
@ -262,12 +260,11 @@ class helpers_management:
@staticmethod
def get_backup_config(server_id):
try:
row = Backups.select().where(Backups.server_id == server_id).join(Schedules).join(Servers)[0]
row = Backups.select().where(Backups.server_id == server_id).join(Servers)[0]
conf = {
"backup_path": row.server_id.backup_path,
"directories": row.directories,
"max_backups": row.max_backups,
"auto_enabled": row.schedule_id.enabled,
"server_id": row.server_id.server_id
}
except IndexError:
@ -275,7 +272,6 @@ class helpers_management:
"backup_path": None,
"directories": None,
"max_backups": 0,
"auto_enabled": True,
"server_id": server_id
}
return conf
@ -284,7 +280,7 @@ class helpers_management:
def set_backup_config(server_id: int, backup_path: str = None, max_backups: int = None):
logger.debug("Updating server {} backup config with {}".format(server_id, locals()))
try:
row = Backups.select().where(Backups.server_id == server_id).join(Schedules).join(Servers)[0]
row = Backups.select().where(Backups.server_id == server_id).join(Servers)[0]
new_row = False
conf = {}
schd = {}
@ -294,15 +290,6 @@ class helpers_management:
"max_backups": 0,
"server_id": server_id
}
schd = {
"enabled": True,
"action": "backup_server",
"interval_type": "days",
"interval": 1,
"start_time": "00:00",
"server_id": server_id,
"comment": "Default backup job"
}
new_row = True
if max_backups is not None:
conf['max_backups'] = max_backups
@ -313,7 +300,7 @@ class helpers_management:
else:
u1 = 0
u2 = Backups.update(conf).where(Backups.server_id == server_id).execute()
logger.debug("Updating existing backup record. {}+{}+{} rows affected".format(u1, u2, u3))
logger.debug("Updating existing backup record. {}+{} rows affected".format(u1, u2))
else:
with database.atomic():
conf["server_id"] = server_id

View File

@ -120,7 +120,7 @@ class Server:
self.crash_watcher_schedule = None
self.stats = stats
self.backup_thread = threading.Thread(target=self.a_backup_server, daemon=True, name=f"backup_{self.name}")
self.is_backingup = False,
self.is_backingup = False
def reload_server_settings(self):
server_data = servers_helper.get_server_data_by_id(self.server_id)

View File

@ -0,0 +1,17 @@
# Generated by database migrator
import peewee
from app.classes.models.management import Schedules
def migrate(migrator, database, **kwargs):
migrator.drop_columns('backups', ['schedule_id'])
"""
Write your migrations here.
"""
def rollback(migrator, database, **kwargs):
migrator.add_columns('backups', schedule_id=peewee.ForeignKeyField(Schedules, backref='backups_schedule'))
"""
Write your rollback migrations here.
"""