35246-vm/db/schema.sql
Flatlogic Bot 9caf555a86 nando 2
2025-10-26 11:27:54 +00:00

53 lines
1.7 KiB
SQL

-- Database schema for the football predictions app
DROP TABLE IF EXISTS `predictions`;
DROP TABLE IF EXISTS `tipsters`;
DROP TABLE IF EXISTS `events`;
DROP TABLE IF EXISTS `teams`;
DROP TABLE IF EXISTS `leagues`;
CREATE TABLE IF NOT EXISTS `leagues` (
`id` INT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`country` VARCHAR(255),
`logo` VARCHAR(255),
`current_season` INT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `teams` (
`id` INT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`logo` VARCHAR(255)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `events` (
`id` INT PRIMARY KEY,
`league_id` INT NOT NULL,
`home_team_id` INT NOT NULL,
`away_team_id` INT NOT NULL,
`event_date` DATETIME NOT NULL,
`status` VARCHAR(50),
`home_score` TINYINT,
`away_score` TINYINT,
FOREIGN KEY (`league_id`) REFERENCES `leagues`(`id`),
FOREIGN KEY (`home_team_id`) REFERENCES `teams`(`id`),
FOREIGN KEY (`away_team_id`) REFERENCES `teams`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `tipsters` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL,
`accuracy_kpi` FLOAT DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `predictions` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`event_id` INT NOT NULL,
`tipster_id` INT,
`prediction_type` VARCHAR(100) NOT NULL, -- e.g., '1X2', 'Over/Under', 'GG/NG'
`prediction_value` VARCHAR(100) NOT NULL, -- e.g., '1', 'Over 2.5', 'GG'
`status` ENUM('pending', 'won', 'lost') DEFAULT 'pending',
FOREIGN KEY (`event_id`) REFERENCES `events`(`id`),
FOREIGN KEY (`tipster_id`) REFERENCES `tipsters`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;