20250922150745_init.up.sql 1.8 KB

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