schema.sql 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # Tables with keys
  2. CREATE TABLE `blog_cats` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'AI',
  4. `user` int(11) NOT NULL COMMENT 'User id',
  5. `name` varchar(255) NOT NULL COMMENT 'Category name',
  6. `alias` varchar(255) NOT NULL COMMENT 'Category alias',
  7. `lft` int(11) NOT NULL COMMENT 'For nested set model',
  8. `rgt` int(11) NOT NULL COMMENT 'For nested set model',
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  11. ALTER TABLE `blog_cats` ADD UNIQUE KEY `alias` (`alias`);
  12. ALTER TABLE `blog_cats` ADD KEY `lft` (`lft`), ADD KEY `rgt` (`rgt`);
  13. ALTER TABLE `blog_cats` ADD KEY `FK_blog_cats_user` (`user`);
  14. CREATE TABLE `blog_cat_post_rel` (
  15. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'AI',
  16. `post_id` int(11) NOT NULL COMMENT 'Post id',
  17. `category_id` int(11) NOT NULL COMMENT 'Category id',
  18. PRIMARY KEY (`id`)
  19. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  20. ALTER TABLE `blog_cat_post_rel` ADD KEY `post_id` (`post_id`), ADD KEY `category_id` (`category_id`);
  21. ALTER TABLE `blog_cat_post_rel` ADD UNIQUE KEY `post_category` (`post_id`,`category_id`) USING BTREE;
  22. ALTER TABLE `blog_cat_post_rel` ADD KEY `FK_blog_cat_post_rel_post_id` (`post_id`);
  23. ALTER TABLE `blog_cat_post_rel` ADD KEY `FK_blog_cat_post_rel_category_id` (`category_id`);
  24. CREATE TABLE `blog_posts` (
  25. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'AI',
  26. `user` int(11) NOT NULL COMMENT 'User id',
  27. `name` varchar(255) NOT NULL COMMENT 'Post name',
  28. `alias` varchar(255) NOT NULL COMMENT 'Post alias',
  29. `briefly` text NOT NULL COMMENT 'Post brief content',
  30. `content` text NOT NULL COMMENT 'Post content',
  31. `datetime` datetime NOT NULL COMMENT 'Creation date/time',
  32. `active` int(1) NOT NULL COMMENT 'Is active post or not',
  33. PRIMARY KEY (`id`)
  34. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  35. ALTER TABLE `blog_posts` ADD UNIQUE KEY `alias` (`alias`);
  36. ALTER TABLE `blog_posts` ADD KEY `FK_blog_posts_user` (`user`);
  37. CREATE TABLE `pages` (
  38. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'AI',
  39. `user` int(11) NOT NULL COMMENT 'User id',
  40. `name` varchar(255) NOT NULL COMMENT 'Page name',
  41. `alias` varchar(255) NOT NULL COMMENT 'Page url part',
  42. `content` text NOT NULL COMMENT 'Page content',
  43. `meta_title` varchar(255) NOT NULL DEFAULT '' COMMENT 'Page meta title',
  44. `meta_keywords` varchar(255) NOT NULL DEFAULT '' COMMENT 'Page meta keywords',
  45. `meta_description` varchar(510) NOT NULL DEFAULT '' COMMENT 'Page meta description',
  46. `datetime` datetime NOT NULL COMMENT 'Creation date/time',
  47. `active` int(1) NOT NULL COMMENT 'Is active page or not',
  48. PRIMARY KEY (`id`)
  49. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  50. ALTER TABLE `pages` ADD UNIQUE KEY `alias` (`alias`);
  51. ALTER TABLE `pages` ADD KEY `alias_active` (`alias`,`active`) USING BTREE;
  52. ALTER TABLE `pages` ADD KEY `FK_pages_user` (`user`);
  53. CREATE TABLE `settings` (
  54. `name` varchar(255) NOT NULL COMMENT 'Setting name',
  55. `value` text NOT NULL COMMENT 'Setting value',
  56. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  57. ALTER TABLE `settings` ADD UNIQUE KEY `name` (`name`);
  58. CREATE TABLE `users` (
  59. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'AI',
  60. `first_name` varchar(64) NOT NULL DEFAULT '' COMMENT 'User first name',
  61. `last_name` varchar(64) NOT NULL DEFAULT '' COMMENT 'User last name',
  62. `email` varchar(64) NOT NULL COMMENT 'User email',
  63. `password` varchar(32) NOT NULL COMMENT 'User password (MD5)',
  64. `admin` int(1) NOT NULL COMMENT 'Is admin user or not',
  65. `active` int(1) NOT NULL COMMENT 'Is active user or not',
  66. PRIMARY KEY (`id`)
  67. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  68. ALTER TABLE `users` ADD UNIQUE KEY `email` (`email`);
  69. # References
  70. ALTER TABLE `blog_cats` ADD CONSTRAINT `FK_blog_cats_user` FOREIGN KEY (`user`) REFERENCES `users` (`id`) ON DELETE RESTRICT;
  71. ALTER TABLE `blog_cat_post_rel` ADD CONSTRAINT `FK_blog_cat_post_rel_category_id` FOREIGN KEY (`category_id`) REFERENCES `blog_cats` (`id`) ON DELETE RESTRICT;
  72. ALTER TABLE `blog_cat_post_rel` ADD CONSTRAINT `FK_blog_cat_post_rel_post_id` FOREIGN KEY (`post_id`) REFERENCES `blog_posts` (`id`) ON DELETE RESTRICT;
  73. ALTER TABLE `blog_posts` ADD CONSTRAINT `FK_blog_posts_user` FOREIGN KEY (`user`) REFERENCES `users` (`id`) ON DELETE RESTRICT;
  74. ALTER TABLE `pages` ADD CONSTRAINT `FK_pages_user` FOREIGN KEY (`user`) REFERENCES `users` (`id`) ON DELETE RESTRICT;