diff options
Diffstat (limited to 'core/db/migrations')
-rw-r--r-- | core/db/migrations/6.sql | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/core/db/migrations/6.sql b/core/db/migrations/6.sql new file mode 100644 index 0000000..0808895 --- /dev/null +++ b/core/db/migrations/6.sql @@ -0,0 +1,24 @@ +CREATE TABLE `category` ( + `id` tinyint(3) UNSIGNED NOT NULL AUTO_INCREMENT, + `time_insert` datetime NOT NULL, + `time_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `parent` tinyint(3) UNSIGNED DEFAULT NULL, + `slug` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL, + `name` varchar(100) NOT NULL, + `body` text NOT NULL, + `argv` varchar(250) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `time_insert` (`time_insert`), + UNIQUE KEY `slug` (`slug`), + KEY `category_parent` (`parent`), + FULLTEXT KEY `search` (`name`, `body`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +ALTER TABLE `post` ADD `category` tinyint(3) UNSIGNED DEFAULT NULL AFTER `user`, + ADD KEY `post_category` (`category`); + +ALTER TABLE `category` ADD CONSTRAINT `category_parent` FOREIGN KEY (`parent`) + REFERENCES `category` (`id`) ON DELETE SET NULL ON UPDATE CASCADE; + +ALTER TABLE `post` ADD CONSTRAINT `post_category` FOREIGN KEY (`category`) + REFERENCES `category` (`id`) ON DELETE SET NULL ON UPDATE CASCADE; |