sqlite.php 1.3 KB

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