Sindbad~EG File Manager
-- 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