mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-01-13 15:23:59 +01:00
35 lines
900 B
SQL
35 lines
900 B
SQL
# --- !Ups
|
|
|
|
|
|
CREATE TABLE library (
|
|
id SERIAL,
|
|
library_type VARCHAR(255) NOT NULL, -- We could use enums, but it is too much bothering in PostgreSQL. We'll enforce those constrainst on application level :)
|
|
identifier VARCHAR(255) NOT NULL,
|
|
classified BOOLEAN,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX library_unique ON library (library_type, identifier);
|
|
|
|
CREATE TABLE library_tag (
|
|
id SERIAL,
|
|
name varchar(255) NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE UNIQUE INDEX library_tag_unique ON library_tag (name);
|
|
|
|
CREATE TABLE library_to_library_tag (
|
|
library_id INTEGER NOT NULL REFERENCES library,
|
|
library_tag_id INTEGER NOT NULL REFERENCES library_tag,
|
|
context_dependent BOOLEAN
|
|
);
|
|
|
|
CREATE UNIQUE INDEX library_to_library_tag_unique ON library_to_library_tag (library_id, library_tag_id);
|
|
|
|
# --- !Downs
|
|
|
|
DROP TABLE library;
|
|
DROP TABLE library_to_library_tag;
|
|
DROP TABLE library_tag;
|