Sindbad~EG File Manager

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

-- Souls and Transfers Data Tables
-- Add these to your existing database

-- Souls Data Table
CREATE TABLE souls_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    area_id INT NOT NULL,
    district_id INT NOT NULL,
    assembly_id INT NOT NULL,
    
    -- 1. Souls Won
    outreach_program INT DEFAULT 0,
    adult_souls_won_cop INT DEFAULT 0,
    other_souls_won INT DEFAULT 0,
    
    -- 2. Souls Won Through
    gospel_sunday_morning INT DEFAULT 0,
    hum INT DEFAULT 0,
    mpwds INT DEFAULT 0,
    chaplaincy INT DEFAULT 0,
    chieftancy INT DEFAULT 0,
    som INT DEFAULT 0,
    digital_space INT DEFAULT 0,
    
    -- 3. Converts
    baptized_in_water INT DEFAULT 0,
    holy_spirit_baptism INT DEFAULT 0,
    old_members_now_baptized_holy_spirit INT DEFAULT 0,
    
    -- Metadata
    created_by INT NOT NULL,
    updated_by INT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    -- Foreign Keys
    FOREIGN KEY (area_id) REFERENCES areas(id) ON DELETE CASCADE,
    FOREIGN KEY (district_id) REFERENCES districts(id) ON DELETE CASCADE,
    FOREIGN KEY (assembly_id) REFERENCES assemblies(id) ON DELETE CASCADE,
    FOREIGN KEY (created_by) REFERENCES users(id),
    FOREIGN KEY (updated_by) REFERENCES users(id),
    
    -- Unique constraint to prevent duplicate entries for same assembly
    UNIQUE KEY unique_assembly_souls (assembly_id),
    
    -- Indexes for better performance
    INDEX idx_area_district_souls (area_id, district_id),
    INDEX idx_created_by_souls (created_by),
    INDEX idx_created_at_souls (created_at)
);

-- Transfers Data Table
CREATE TABLE transfers_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    area_id INT NOT NULL,
    district_id INT NOT NULL,
    assembly_id INT NOT NULL,
    
    -- 1. Transfers In
    transfers_in_13_19 INT DEFAULT 0,
    transfers_in_20_35 INT DEFAULT 0,
    transfers_in_above_35 INT DEFAULT 0,
    transfers_in_total INT GENERATED ALWAYS AS (transfers_in_13_19 + transfers_in_20_35 + transfers_in_above_35) STORED,
    
    -- 2. Transfers Out
    transfers_out_13_19 INT DEFAULT 0,
    transfers_out_20_35 INT DEFAULT 0,
    transfers_out_above_35 INT DEFAULT 0,
    transfers_out_total INT GENERATED ALWAYS AS (transfers_out_13_19 + transfers_out_20_35 + transfers_out_above_35) STORED,
    
    -- Metadata
    created_by INT NOT NULL,
    updated_by INT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    -- Foreign Keys
    FOREIGN KEY (area_id) REFERENCES areas(id) ON DELETE CASCADE,
    FOREIGN KEY (district_id) REFERENCES districts(id) ON DELETE CASCADE,
    FOREIGN KEY (assembly_id) REFERENCES assemblies(id) ON DELETE CASCADE,
    FOREIGN KEY (created_by) REFERENCES users(id),
    FOREIGN KEY (updated_by) REFERENCES users(id),
    
    -- Unique constraint to prevent duplicate entries for same assembly
    UNIQUE KEY unique_assembly_transfers (assembly_id),
    
    -- Indexes for better performance
    INDEX idx_area_district_transfers (area_id, district_id),
    INDEX idx_created_by_transfers (created_by),
    INDEX idx_created_at_transfers (created_at)
);

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