\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82
| Path : /var/www/html/yedekledb24/DatabaseBackupMasterv8/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv8/fix_models_py.py |
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
models.py dosyasındaki BackupLog sınıfında parent_backup_id yerine parent_log_id kullanılması için düzeltme scripti.
"""
import os
import sys
import re
import logging
from pathlib import Path
# Logging ayarları
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
def fix_models_py():
"""models.py dosyasında parent_backup_id -> parent_log_id değişikliğini yapar."""
try:
# models.py dosyasının yolunu bul
models_path = Path(os.getcwd()) / "models.py"
if not models_path.exists():
logger.error(f"models.py dosyası bulunamadı: {models_path}")
return False
# Dosya içeriğini oku
with open(models_path, 'r', encoding='utf-8') as file:
content = file.read()
# parent_backup_id -> parent_log_id değişikliğini yap
pattern1 = r'parent_backup_id\s*=\s*db\.Column\(db\.Integer,\s*db\.ForeignKey\(\'backup_log\.id\',\s*name=\'fk_parent_backup\'\),\s*nullable=True\)'
replacement1 = 'parent_log_id = db.Column(db.Integer, db.ForeignKey(\'backup_log.id\', name=\'fk_parent_backup\'), nullable=True)'
new_content = re.sub(pattern1, replacement1, content)
# İlişki tanımlamasını da güncelle
pattern2 = r'parent_backup\s*=\s*db\.relationship\(\'BackupLog\',\s*remote_side=\[id\],\s*backref=\'child_backups\'\)'
replacement2 = 'parent_backup = db.relationship(\'BackupLog\', remote_side=[id], backref=\'child_backups\', foreign_keys=[parent_log_id])'
new_content = re.sub(pattern2, replacement2, new_content)
# Dosyaya geri yaz
with open(models_path, 'w', encoding='utf-8') as file:
file.write(new_content)
logger.info(f"models.py dosyası başarıyla güncellendi.")
return True
except Exception as e:
logger.error(f"models.py dosyası güncellenirken hata oluştu: {str(e)}")
return False
def main():
"""Ana fonksiyon"""
logger.info("models.py düzeltme scripti başlatılıyor...")
if fix_models_py():
logger.info("models.py dosyası başarıyla güncellendi.")
logger.info("Şimdi uygulamayı yeniden başlatın: sudo systemctl restart yedekledb24")
else:
logger.error("models.py dosyası güncellenemedi!")
sys.exit(1)
if __name__ == "__main__":
main()