 -- Associate key/value data with an individual source.  It is possible for a
 -- single source to have many different key/value data pieces, or none.
 create table source_key_values (
+    id integer primary key,
     source_id integer references sources(id) not null,
     key_val_id integer references key_val(id) not null
 );


-- FIXME how do you prevent cycles in this thing?
create table group_groups (
    parent_group_id references groups(id) not null,
    child_group_id references groups(id) not null
);

-- Associate key/value data with an individual project.  It is possible for a
-- single project to have many different key/value data pieces, or none.
create table project_values (
    id integer primary key,
    project_id integer references projects(id) not null,
    key_val_id integer references key_val(id) not null
);
