20250922150745_init.up.sql 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. CREATE TABLE workspaces (
  2. id INTEGER PRIMARY KEY,
  3. name TEXT NOT NULL UNIQUE
  4. );
  5. CREATE TABLE workspace_envs (
  6. id INTEGER PRIMARY KEY,
  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,
  13. workspace_id INTEGER NOT NULL,
  14. env_id INTEGER NOT NULL,
  15. name TEXT NOT NULL,
  16. value TEXT,
  17. secret BOOLEAN NOT NULL,
  18. -- Optional collection scope
  19. collection_id INTEGER,
  20. FOREIGN KEY (workspace_id) REFERENCES workspaces (id) ON DELETE CASCADE,
  21. FOREIGN KEY (env_id) REFERENCES workspace_envs (id) ON DELETE CASCADE
  22. );
  23. CREATE TABLE workspace_entries (
  24. id INTEGER PRIMARY KEY,
  25. workspace_id INTEGER NOT NULL,
  26. parent_id INTEGER,
  27. name TEXT NOT NULL,
  28. type INTEGER NOT NULL,
  29. FOREIGN KEY (parent_id) REFERENCES workspace_entries (id) ON DELETE CASCADE,
  30. FOREIGN KEY (workspace_id) REFERENCES workspaces (id) ON DELETE CASCADE
  31. );
  32. CREATE TABLE request_params (
  33. id INTEGER PRIMARY KEY,
  34. workspace_id INTEGER NOT NULL,
  35. request_id UNIQUE INTEGER NOT NULL,
  36. method TEXT NOT NULL,
  37. url TEXT NOT NULL,
  38. FOREIGN KEY (request_id) REFERENCES workspace_entries (id) ON DELETE CASCADE,
  39. FOREIGN KEY (workspace_id) REFERENCES workspaces (id) ON DELETE CASCADE
  40. );
  41. CREATE TABLE request_bodies (
  42. id INTEGER PRIMARY KEY,
  43. request_id UNIQUE NOT NULL,
  44. content_type TEXT NOT NULL,
  45. body TEXT NOT NULL,
  46. FOREIGN KEY (request_id) REFERENCES workspace_entries (id) ON DELETE CASCADE
  47. );
  48. CREATE TABLE request_headers (
  49. id INTEGER PRIMARY KEY,
  50. request_id INTEGER NOT NULL,
  51. name TEXT NOT NULL,
  52. value TEXT NOT NULL,
  53. FOREIGN KEY (request_id) REFERENCES workspace_entries (id) ON DELETE CASCADE
  54. );