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.
o3de/Editor/cryassetdb_mysql.sql

48 lines
1.8 KiB
SQL

CREATE DATABASE IF NOT EXISTS `CryAssetDB`;
USE `CryAssetDB`;
CREATE TABLE `categories` (
`category_id` int(10) NOT NULL auto_increment,
`category` varchar(255) UNIQUE NOT NULL,
`order_id` int(10) NOT NULL,
PRIMARY KEY (`category_id`)
);
CREATE TABLE IF NOT EXISTS `tags` (
`id` int(10) unsigned NOT NULL auto_increment,
`tag` varchar(64) NOT NULL,
`category_id` int(10) default NULL,
PRIMARY KEY (`id`),
KEY `FK_tags_to_category_id` (`category_id`),
UNIQUE KEY `tag` (`tag`),
CONSTRAINT `FK_tags_to_category_id` FOREIGN KEY (`category_id`) REFERENCES `categories` (`category_id`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE IF NOT EXISTS `projects` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(32) NOT NULL COMMENT 'Convenient project name for easy filtering',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
);
CREATE TABLE IF NOT EXISTS `asset_inventory` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`project_id` int(10) unsigned NOT NULL,
`relpath` varchar(255) NOT NULL COMMENT 'relpath to the asset',
`description` varchar(255) default NULL,
PRIMARY KEY (`id`),
KEY `FK_asset_inventory_to_project_id` (`project_id`),
CONSTRAINT `FK_asset_inventory_to_project_id` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE IF NOT EXISTS `asset_tags` (
`asset_id` bigint(20) unsigned NOT NULL,
`tag_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`asset_id`,`tag_id`),
KEY `FK_asset_tags_to_asset_id` (`asset_id`),
KEY `FK_asset_tags_to_tag_id` (`tag_id`),
CONSTRAINT `FK_asset_tags_to_asset_id` FOREIGN KEY (`asset_id`) REFERENCES `asset_inventory` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_asset_tags_to_tag_id` FOREIGN KEY (`tag_id`) REFERENCES `tags` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
)