\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/DatabaseBackupMasterv6/database_backups/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv6/database_backups/fixed_schema.sql |
-- Database Backup Sistemi Schema
-- Oluşturulma Tarihi: 2025-03-23 (Düzeltilmiş)
-- Sequence oluşturma
CREATE SEQUENCE IF NOT EXISTS database_connection_id_seq;
CREATE SEQUENCE IF NOT EXISTS backup_job_id_seq;
CREATE SEQUENCE IF NOT EXISTS storage_target_id_seq;
CREATE SEQUENCE IF NOT EXISTS backup_log_id_seq;
CREATE SEQUENCE IF NOT EXISTS smtp_settings_id_seq;
CREATE SEQUENCE IF NOT EXISTS users_id_seq;
-- Drop existing tables (if exist)
DROP TABLE IF EXISTS "users" CASCADE;
DROP TABLE IF EXISTS smtp_settings CASCADE;
DROP TABLE IF EXISTS backup_log CASCADE;
DROP TABLE IF EXISTS storage_target CASCADE;
DROP TABLE IF EXISTS backup_job CASCADE;
DROP TABLE IF EXISTS database_connection CASCADE;
-- Table: database_connection
CREATE TABLE database_connection (
id INTEGER NOT NULL DEFAULT nextval('database_connection_id_seq'::regclass) PRIMARY KEY,
name VARCHAR(64) NOT NULL,
db_type VARCHAR(16) NOT NULL,
host VARCHAR(128) NOT NULL,
port INTEGER NOT NULL,
username VARCHAR(64) NOT NULL,
password VARCHAR(128) NOT NULL,
database VARCHAR(64) NOT NULL,
created_at TIMESTAMP NULL
);
-- Table: backup_job
CREATE TABLE backup_job (
id INTEGER NOT NULL DEFAULT nextval('backup_job_id_seq'::regclass) PRIMARY KEY,
name VARCHAR(64) NOT NULL,
database_id INTEGER NOT NULL,
storage_id INTEGER NOT NULL,
schedule_type VARCHAR(16) NOT NULL,
schedule_value VARCHAR(64) NOT NULL,
retention_days INTEGER DEFAULT 30,
enabled BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP NULL,
last_run TIMESTAMP NULL,
CONSTRAINT fk_database FOREIGN KEY (database_id) REFERENCES database_connection(id),
CONSTRAINT fk_storage FOREIGN KEY (storage_id) REFERENCES storage_target(id)
);
-- Table: storage_target
CREATE TABLE storage_target (
id INTEGER NOT NULL DEFAULT nextval('storage_target_id_seq'::regclass) PRIMARY KEY,
name VARCHAR(64) NOT NULL,
storage_type VARCHAR(16) NOT NULL,
host VARCHAR(128) NOT NULL,
port INTEGER NULL,
username VARCHAR(64) NULL,
password VARCHAR(128) NULL,
path VARCHAR(256) NOT NULL,
created_at TIMESTAMP NULL
);
-- Table: backup_log
CREATE TABLE backup_log (
id INTEGER NOT NULL DEFAULT nextval('backup_log_id_seq'::regclass) PRIMARY KEY,
job_id INTEGER NOT NULL,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(16) NOT NULL,
message TEXT NULL,
backup_file VARCHAR(256) NULL,
backup_size BIGINT NULL,
duration FLOAT NULL,
CONSTRAINT fk_job FOREIGN KEY (job_id) REFERENCES backup_job(id)
);
-- Table: smtp_settings
CREATE TABLE smtp_settings (
id INTEGER NOT NULL DEFAULT nextval('smtp_settings_id_seq'::regclass) PRIMARY KEY,
mail_server VARCHAR(128) NOT NULL,
mail_port INTEGER NOT NULL,
mail_use_tls BOOLEAN DEFAULT TRUE,
mail_use_ssl BOOLEAN DEFAULT FALSE,
mail_username VARCHAR(128) NOT NULL,
mail_password VARCHAR(128) NOT NULL,
mail_default_sender VARCHAR(128) NOT NULL,
notification_emails VARCHAR(256) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Table: users (user kelimesi PostgreSQL'de anahtar kelime olduğu için users kullanıyoruz)
CREATE TABLE users (
id INTEGER NOT NULL DEFAULT nextval('users_id_seq'::regclass) PRIMARY KEY,
username VARCHAR(64) NOT NULL UNIQUE,
email VARCHAR(120) NOT NULL UNIQUE,
password_hash VARCHAR(256) NOT NULL,
is_admin BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
last_login TIMESTAMP NULL
);
-- Storage ve job tabloları arasındaki ilişkiyi düzelt (çoklu tanımlamayı önlemek için)
ALTER TABLE backup_job DROP CONSTRAINT IF EXISTS fk_storage;
ALTER TABLE backup_job ADD CONSTRAINT fk_storage FOREIGN KEY (storage_id) REFERENCES storage_target(id);