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.
"; $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.
"; // 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.
"; } // 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.
"; } } 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.
"; // 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.
"; // 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.
"; // 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.
"; } catch (PDOException $e) { die("DB ERROR: " . $e->getMessage()); } ?>