38 lines
1.6 KiB
SQL
38 lines
1.6 KiB
SQL
CREATE TABLE IF NOT EXISTS charity_members (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
role VARCHAR(100),
|
|
phone VARCHAR(50),
|
|
email VARCHAR(100),
|
|
join_date DATE,
|
|
status ENUM('active', 'inactive') DEFAULT 'active',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
CREATE TABLE IF NOT EXISTS charity_plans (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
title VARCHAR(255) NOT NULL,
|
|
description TEXT,
|
|
start_date DATE,
|
|
end_date DATE,
|
|
target_value INT DEFAULT 100,
|
|
achieved_value INT DEFAULT 0,
|
|
status ENUM('pending', 'in_progress', 'completed', 'cancelled') DEFAULT 'pending',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
DROP TABLE IF EXISTS committee_members;
|
|
|
|
CREATE TABLE IF NOT EXISTS committee_members (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
committee_id INT NOT NULL,
|
|
charity_member_id INT NOT NULL,
|
|
role VARCHAR(100) DEFAULT 'عضو',
|
|
joined_at DATE,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (committee_id) REFERENCES committees(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (charity_member_id) REFERENCES charity_members(id) ON DELETE CASCADE,
|
|
UNIQUE KEY unique_member (committee_id, charity_member_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; |