text: CREATE TABLE principals (
      id SERIAL NOT NULL,
      uri VARCHAR(100) NOT NULL,
      email VARCHAR(80),
      displayname VARCHAR(80),
      vcardurl VARCHAR(255)
  );
  
  ALTER TABLE ONLY principals
      ADD CONSTRAINT principals_pkey PRIMARY KEY (id);
  
  CREATE UNIQUE INDEX principals_ukey
      ON principals USING btree (uri);
  
  CREATE TABLE groupmembers (
      id SERIAL NOT NULL,
      principal_id INTEGER NOT NULL,
      member_id INTEGER NOT NULL
  );
  
  ALTER TABLE ONLY groupmembers
      ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (id);
  
  CREATE UNIQUE INDEX groupmembers_ukey
      ON groupmembers USING btree (principal_id, member_id);
  
  ALTER TABLE ONLY groupmembers
      ADD CONSTRAINT groupmembers_principal_id_fkey FOREIGN KEY (principal_id) REFERENCES principals(id)
          ON DELETE CASCADE;
  
  -- Is this correct correct link ... or not?
  -- ALTER TABLE ONLY groupmembers
  --     ADD CONSTRAINT groupmembers_member_id_id_fkey FOREIGN KEY (member_id) REFERENCES users(id)
  --         ON DELETE CASCADE;
  
  INSERT INTO principals (uri,email,displayname) VALUES
  ('principals/admin', 'admin@example.org','Administrator'),
  ('principals/admin/calendar-proxy-read', null, null),
  ('principals/admin/calendar-proxy-write', null, null);
  
  