schema.sql 656 B

123456789101112131415161718192021222324252627282930
  1. DROP TABLE IF EXISTS user_groups;
  2. DROP TABLE IF EXISTS users;
  3. DROP TABLE IF EXISTS servers;
  4. DROP TABLE IF EXISTS groups;
  5. CREATE TABLE users (
  6. id serial PRIMARY KEY,
  7. email varchar(64) NOT NULL,
  8. password char(128) NOT NULL,
  9. salt char(32) NOT NULL,
  10. UNIQUE (email)
  11. );
  12. CREATE TABLE groups (
  13. id serial PRIMARY KEY,
  14. name varchar(32) NOT NULL,
  15. api_key char(40) NOT NULL
  16. );
  17. CREATE TABLE user_groups (
  18. user_id integer NOT NULL references users(id),
  19. group_id integer NOT NULL references groups(id),
  20. UNIQUE (user_id, group_id)
  21. );
  22. CREATE TABLE servers (
  23. id serial PRIMARY KEY,
  24. group_id integer references groups(id),
  25. hostname varchar(256) NOT NULL
  26. );