142 lines
4.7 KiB
PHP
142 lines
4.7 KiB
PHP
<?php
|
|
require_once __DIR__ . '/config.php';
|
|
|
|
try {
|
|
$pdo = db();
|
|
$pdo->exec("
|
|
CREATE TABLE IF NOT EXISTS courses (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
par_hole_1 INT NOT NULL,
|
|
par_hole_2 INT NOT NULL,
|
|
par_hole_3 INT NOT NULL,
|
|
par_hole_4 INT NOT NULL,
|
|
par_hole_5 INT NOT NULL,
|
|
par_hole_6 INT NOT NULL,
|
|
par_hole_7 INT NOT NULL,
|
|
par_hole_8 INT NOT NULL,
|
|
par_hole_9 INT NOT NULL,
|
|
par_hole_10 INT NOT NULL,
|
|
par_hole_11 INT NOT NULL,
|
|
par_hole_12 INT NOT NULL,
|
|
par_hole_13 INT NOT NULL,
|
|
par_hole_14 INT NOT NULL,
|
|
par_hole_15 INT NOT NULL,
|
|
par_hole_16 INT NOT NULL,
|
|
par_hole_17 INT NOT NULL,
|
|
par_hole_18 INT NOT NULL,
|
|
hole_count INT NOT NULL DEFAULT 18,
|
|
tournament_date DATE,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB;
|
|
");
|
|
echo "Table 'courses' created successfully or already exists.<br>";
|
|
|
|
$pdo->exec("
|
|
CREATE TABLE IF NOT EXISTS scores (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
player_name VARCHAR(255) NOT NULL,
|
|
team_name VARCHAR(255),
|
|
course_id INT NOT NULL,
|
|
holes_played INT NOT NULL DEFAULT 9,
|
|
hole_1_score INT,
|
|
hole_2_score INT,
|
|
hole_3_score INT,
|
|
hole_4_score INT,
|
|
hole_5_score INT,
|
|
hole_6_score INT,
|
|
hole_7_score INT,
|
|
hole_8_score INT,
|
|
hole_9_score INT,
|
|
hole_10_score INT,
|
|
hole_11_score INT,
|
|
hole_12_score INT,
|
|
hole_13_score INT,
|
|
hole_14_score INT,
|
|
hole_15_score INT,
|
|
hole_16_score INT,
|
|
hole_17_score INT,
|
|
hole_18_score INT,
|
|
total_score INT,
|
|
total_to_par INT,
|
|
played_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (course_id) REFERENCES courses(id)
|
|
) ENGINE=InnoDB;
|
|
");
|
|
echo "Table 'scores' created successfully or already exists.<br>";
|
|
|
|
// Add hole_count to courses if it doesn't exist
|
|
$stmt = $pdo->query("SHOW COLUMNS FROM courses LIKE 'hole_count'");
|
|
if ($stmt->rowCount() == 0) {
|
|
$pdo->exec("ALTER TABLE courses ADD COLUMN hole_count INT NOT NULL DEFAULT 18");
|
|
echo "Column 'hole_count' added to 'courses' table.<br>";
|
|
}
|
|
|
|
// Add tournament_date to courses if it doesn't exist
|
|
$stmt = $pdo->query("SHOW COLUMNS FROM courses LIKE 'tournament_date'");
|
|
if ($stmt->rowCount() == 0) {
|
|
$pdo->exec("ALTER TABLE courses ADD COLUMN tournament_date DATE");
|
|
echo "Column 'tournament_date' added to 'courses' table.<br>";
|
|
}
|
|
|
|
|
|
} catch (PDOException $e) {
|
|
die("DB ERROR: " . $e->getMessage());
|
|
}
|
|
|
|
|
|
// New tables for coaches and players
|
|
try {
|
|
$pdo = db();
|
|
|
|
// Coaches table
|
|
$pdo->exec("
|
|
CREATE TABLE IF NOT EXISTS coaches (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
email VARCHAR(255) NOT NULL UNIQUE,
|
|
password VARCHAR(255) NOT NULL, -- Hashed password
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB;
|
|
");
|
|
echo "Table 'coaches' created successfully or already exists.<br>";
|
|
|
|
// Players table
|
|
$pdo->exec("
|
|
CREATE TABLE IF NOT EXISTS players (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
email VARCHAR(255) NOT NULL UNIQUE,
|
|
handicap INT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB;
|
|
");
|
|
echo "Table 'players' created successfully or already exists.<br>";
|
|
|
|
// Team table to link coaches and players
|
|
$pdo->exec("
|
|
CREATE TABLE IF NOT EXISTS teams (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL UNIQUE,
|
|
coach_id INT NOT NULL,
|
|
FOREIGN KEY (coach_id) REFERENCES coaches(id)
|
|
) ENGINE=InnoDB;
|
|
");
|
|
echo "Table 'teams' created successfully or already exists.<br>";
|
|
|
|
// Team_members table to link players to a team
|
|
$pdo->exec("
|
|
CREATE TABLE IF NOT EXISTS team_members (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
team_id INT NOT NULL,
|
|
player_id INT NOT NULL,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id),
|
|
FOREIGN KEY (player_id) REFERENCES players(id)
|
|
) ENGINE=InnoDB;
|
|
");
|
|
echo "Table 'team_members' created successfully or already exists.<br>";
|
|
|
|
} catch (PDOException $e) {
|
|
die("DB ERROR: " . $e->getMessage());
|
|
}
|
|
?>
|