You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
SQL
36 lines
1.1 KiB
SQL
CREATE TABLE `categories` (
|
|
`category_id` INTEGER PRIMARY KEY,
|
|
`category` varchar(255) UNIQUE NOT NULL,
|
|
`order_id` int(10) NOT NULL,
|
|
PRIMARY KEY (`category_id`)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS `tags` (
|
|
`id` INTEGER PRIMARY KEY,
|
|
`tag` varchar(64) NOT NULL,
|
|
`category_id` INTEGER NOT NULL,
|
|
FOREIGN KEY (`category_id`) REFERENCES `categories` (`category_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS `projects` (
|
|
`id` INTEGER PRIMARY KEY,
|
|
`name` varchar(32) UNIQUE NOT NULL
|
|
);
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `asset_inventory` (
|
|
`id` INTEGER PRIMARY KEY,
|
|
`project_id` INTEGER NOT NULL,
|
|
`relpath` varchar(255) NOT NULL,
|
|
`description` varchar(255),
|
|
FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS `asset_tags` (
|
|
`asset_id` INTEGER NOT NULL,
|
|
`tag_id` INTEGER NOT NULL,
|
|
PRIMARY KEY (`asset_id`,`tag_id`),
|
|
FOREIGN KEY (`asset_id`) REFERENCES `asset_inventory` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
FOREIGN KEY (`tag_id`) REFERENCES `tags` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|