092a8bc7ce
- Removed all backup/duplicate files - Removed test files from root - Consolidated documentation to /docs/ - Moved scripts to /scripts/ - Renamed f_* directories (removed prefix) - Organized icons and assets - Removed unused vendor directories - Cleaned up redundant config files
49 lines
2.2 KiB
SQL
49 lines
2.2 KiB
SQL
-- Add donation_balance column to users table if it doesn't exist
|
|
ALTER TABLE users ADD COLUMN IF NOT EXISTS donation_balance DECIMAL(10,2) DEFAULT 0.00;
|
|
|
|
-- Create donations table
|
|
CREATE TABLE IF NOT EXISTS donations (
|
|
donation_id INT AUTO_INCREMENT PRIMARY KEY,
|
|
streamer_id INT NOT NULL,
|
|
amount DECIMAL(10,2) NOT NULL,
|
|
donor_name VARCHAR(255),
|
|
message TEXT,
|
|
payment_id VARCHAR(255) NOT NULL,
|
|
status ENUM('pending', 'completed', 'failed') NOT NULL DEFAULT 'pending',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (streamer_id) REFERENCES users(user_id) ON DELETE CASCADE,
|
|
UNIQUE KEY unique_payment_id (payment_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Create payouts table
|
|
CREATE TABLE IF NOT EXISTS payouts (
|
|
payout_id INT AUTO_INCREMENT PRIMARY KEY,
|
|
streamer_id INT NOT NULL,
|
|
amount DECIMAL(10,2) NOT NULL,
|
|
fee DECIMAL(10,2) NOT NULL,
|
|
payout_id VARCHAR(255) NOT NULL,
|
|
status ENUM('pending', 'processing', 'completed', 'failed') NOT NULL DEFAULT 'pending',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (streamer_id) REFERENCES users(user_id) ON DELETE CASCADE,
|
|
UNIQUE KEY unique_payout_id (payout_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Create webhook_logs table
|
|
CREATE TABLE IF NOT EXISTS webhook_logs (
|
|
log_id INT AUTO_INCREMENT PRIMARY KEY,
|
|
event_type VARCHAR(50) NOT NULL,
|
|
resource_id VARCHAR(255) NOT NULL,
|
|
streamer_id INT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (streamer_id) REFERENCES users(user_id) ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Create indexes for better performance
|
|
CREATE INDEX IF NOT EXISTS idx_donations_streamer_id ON donations(streamer_id);
|
|
CREATE INDEX IF NOT EXISTS idx_donations_status ON donations(status);
|
|
CREATE INDEX IF NOT EXISTS idx_payouts_streamer_id ON payouts(streamer_id);
|
|
CREATE INDEX IF NOT EXISTS idx_payouts_status ON payouts(status);
|
|
CREATE INDEX IF NOT EXISTS idx_webhook_logs_event_type ON webhook_logs(event_type);
|
|
CREATE INDEX IF NOT EXISTS idx_webhook_logs_resource_id ON webhook_logs(resource_id); |