sqlite.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. require "settings.php";
  3. $pdo = null;
  4. try {
  5. $pdo = new PDO("sqlite:" . "${db_path}/slork.sqlite");
  6. } catch (PDOException $e) {
  7. // handle the exception here
  8. }
  9. if ( !$pdo ) {
  10. exit( "Cannot connect to database" );
  11. }
  12. // Create maintainer database
  13. $pdo->exec( "DROP TABLE IF EXISTS maintainer;" );
  14. $query = <<<QUERY
  15. CREATE TABLE IF NOT EXISTS maintainer (
  16. id INTEGER PRIMARY KEY, maintainer INTEGER, api TEXT,
  17. properties TEXT DEFAULT '["name"]',
  18. UNIQUE( maintainer ));
  19. QUERY;
  20. $stmt = $pdo->exec( $query );
  21. //$stmt->execute();
  22. // Create user/player database
  23. $pdo->exec( "DROP TABLE IF EXISTS player;" );
  24. $query = <<<QUERY
  25. CREATE TABLE IF NOT EXISTS player (
  26. id INTEGER PRIMARY KEY, maintainer INTEGER,
  27. player INTEGER, property TEXT, value TEXT,
  28. UNIQUE(maintainer, player),
  29. FOREIGN KEY (maintainer) REFERENCES maintainer(maintainer));
  30. QUERY;
  31. $stmt = $pdo->exec( $query );
  32. //$stmt->execute();
  33. // Create player preferences table (properties)
  34. $pdo->exec( "DROP TABLE IF EXISTS player_properties;" );
  35. $query = <<<QUERY
  36. CREATE TABLE player_properties (
  37. id INTEGER PRIMARY KEY,
  38. maintainer INTEGER,
  39. player INTEGER,
  40. property TEXT,
  41. UNIQUE( maintainer, player));
  42. QUERY;
  43. $pdo->exec( $query );
  44. // properties.php contains queries for a subsequent
  45. // table properties containing default property names.
  46. require_once "properties.php";