20250326163904_init.up.sql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. CREATE TABLE workspaces (
  2. id INTEGER PRIMARY KEY AUTOINCREMENT,
  3. name TEXT NOT NULL UNIQUE
  4. );
  5. CREATE TABLE workspace_envs (
  6. id INTEGER PRIMARY KEY AUTOINCREMENT,
  7. workspace_id INTEGER NOT NULL,
  8. name TEXT NOT NULL,
  9. FOREIGN KEY (workspace_id) REFERENCES workspaces (id) ON DELETE CASCADE
  10. );
  11. CREATE TABLE workspace_env_variables (
  12. id INTEGER PRIMARY KEY AUTOINCREMENT,
  13. env_id INTEGER NOT NULL,
  14. name TEXT NOT NULL,
  15. value TEXT NOT NULL,
  16. secret BOOLEAN NOT NULL,
  17. FOREIGN KEY (env_id) REFERENCES workspace_envs (id) ON DELETE CASCADE
  18. );
  19. CREATE TABLE collections (
  20. id INTEGER PRIMARY KEY AUTOINCREMENT,
  21. workspace_id INTEGER NOT NULL,
  22. parent_id INTEGER,
  23. name TEXT NOT NULL,
  24. type TEXT NOT NULL,
  25. FOREIGN KEY (parent_id) REFERENCES collections (id) ON DELETE CASCADE,
  26. FOREIGN KEY (workspace_id) REFERENCES workspaces (id) ON DELETE CASCADE
  27. );
  28. CREATE TABLE collection_variables (
  29. id INTEGER PRIMARY KEY AUTOINCREMENT,
  30. collection_id INTEGER NOT NULL,
  31. name TEXT NOT NULL,
  32. value TEXT NOT NULL,
  33. FOREIGN KEY (collection_id) REFERENCES collections (id) ON DELETE CASCADE
  34. );
  35. CREATE TABLE http_requests (
  36. id INTEGER PRIMARY KEY AUTOINCREMENT,
  37. workspace_id INTEGER NOT NULL,
  38. -- null if request is in workspace root
  39. collection_id INTEGER,
  40. name TEXT NOT NULL,
  41. method TEXT NOT NULL,
  42. url TEXT NOT NULL,
  43. FOREIGN KEY (collection_id) REFERENCES collections (id) ON DELETE CASCADE,
  44. FOREIGN KEY (workspace_id) REFERENCES workspaces (id) ON DELETE CASCADE
  45. );
  46. CREATE TABLE request_bodies (
  47. request_id INTEGER NOT NULL,
  48. content_type TEXT NOT NULL,
  49. body TEXT NOT NULL,
  50. FOREIGN KEY (request_id) REFERENCES http_requests (id) ON DELETE CASCADE
  51. );
  52. CREATE TABLE request_headers (
  53. request_id INTEGER NOT NULL,
  54. name TEXT NOT NULL,
  55. value TEXT NOT NULL,
  56. FOREIGN KEY (request_id) REFERENCES http_requests (id) ON DELETE CASCADE
  57. );