migrate_timers_table.php 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. require_once 'config/database.php';
  3. try {
  4. $database = new Database();
  5. $db = $database->getConnection();
  6. // Create timers table
  7. $sql = "CREATE TABLE IF NOT EXISTS timers (
  8. id INT AUTO_INCREMENT PRIMARY KEY,
  9. task_id INT NOT NULL,
  10. user_id INT NOT NULL,
  11. start_time TIMESTAMP NULL DEFAULT NULL,
  12. end_time TIMESTAMP NULL DEFAULT NULL,
  13. duration VARCHAR(8) NULL DEFAULT NULL,
  14. description TEXT NULL,
  15. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  16. updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  17. FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE,
  18. FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
  19. INDEX idx_timers_task_id (task_id),
  20. INDEX idx_timers_user_id (user_id),
  21. INDEX idx_timers_created_at (created_at)
  22. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci";
  23. $db->exec($sql);
  24. echo "Timers table created successfully\n";
  25. } catch(PDOException $e) {
  26. echo "Error creating timers table: " . $e->getMessage() . "\n";
  27. }
  28. ?>