Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/reports/database/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/reports/database/complete_updates.sql

-- Complete Database Updates Script
-- Run this script to apply all changes for the new features

-- 1. Drop local_statistics table (no longer needed)
DROP TABLE IF EXISTS local_statistics;

-- 2. Create user level settings table
CREATE TABLE IF NOT EXISTS user_level_settings (
    id INT AUTO_INCREMENT PRIMARY KEY,
    level_name VARCHAR(50) UNIQUE NOT NULL,
    display_name VARCHAR(100) NOT NULL,
    is_enabled BOOLEAN DEFAULT TRUE,
    description TEXT,
    updated_by INT NOT NULL,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (updated_by) REFERENCES users(id)
);

-- 3. Create user role settings table
CREATE TABLE IF NOT EXISTS user_role_settings (
    id INT AUTO_INCREMENT PRIMARY KEY,
    role_name VARCHAR(50) UNIQUE NOT NULL,
    display_name VARCHAR(100) NOT NULL,
    is_enabled BOOLEAN DEFAULT TRUE,
    description TEXT,
    updated_by INT NOT NULL,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (updated_by) REFERENCES users(id)
);

-- 4. Insert default user levels
INSERT INTO user_level_settings (level_name, display_name, description, updated_by) VALUES
('superuser', 'Superuser', 'Full system access, manages all areas/districts/assemblies', 1),
('area', 'Area Level', 'Access to districts and assemblies within their area', 1),
('district', 'District Level', 'Access to assemblies within their district', 1),
('assembly', 'Assembly Level', 'Access only to their specific assembly', 1)
ON DUPLICATE KEY UPDATE display_name = VALUES(display_name);

-- 5. Insert default user roles
INSERT INTO user_role_settings (role_name, display_name, description, updated_by) VALUES
('admin', 'Administrator', 'Create, Read, Update, Delete permissions', 1),
('dataentry', 'Data Entry', 'Create, Read, Update permissions', 1),
('viewer', 'Viewer', 'Read-only permissions', 1)
ON DUPLICATE KEY UPDATE display_name = VALUES(display_name);

-- 6. Create indexes for better performance
CREATE INDEX IF NOT EXISTS idx_user_level_settings_enabled ON user_level_settings(is_enabled);
CREATE INDEX IF NOT EXISTS idx_user_role_settings_enabled ON user_role_settings(is_enabled);

-- Script completed successfully
-- All tables created and data inserted

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists