-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Хост: localhost
-- Время создания: Май 24 2025 г., 11:38
-- Версия сервера: 5.7.27-30-log
-- Версия PHP: 8.3.19
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Структура таблицы `categories`
--
CREATE TABLE `categories` (
`id` int(11) NOT NULL,
`name` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Индексы таблицы `categories`
--
ALTER TABLE `categories`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT для таблицы `categories`
--
ALTER TABLE `categories`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
-- --------------------------------------------------------
--
-- Структура таблицы `users`
--
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`login` varchar(15) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`role` enum('user','admin') NOT NULL DEFAULT 'user',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`is_blocked` tinyint(1) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Индексы таблицы `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `login` (`login`),
ADD UNIQUE KEY `email` (`email`);
--
-- AUTO_INCREMENT для таблицы `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
-- --------------------------------------------------------
--
-- Структура таблицы `sites`
--
CREATE TABLE `sites` (
`id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
`url` varchar(255) NOT NULL,
`description` varchar(100) NOT NULL,
`category_id` int(11) NOT NULL,
`reputation` int(11) NOT NULL DEFAULT '0',
`views` int(11) NOT NULL DEFAULT '0',
`hits` int(11) NOT NULL DEFAULT '0',
`approved` tinyint(1) NOT NULL DEFAULT '0',
`site_page_views` int(11) NOT NULL DEFAULT '0',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Индексы таблицы `sites`
--
ALTER TABLE `sites`
ADD PRIMARY KEY (`id`),
ADD KEY `user_id` (`user_id`),
ADD KEY `category_id` (`category_id`);
--
-- AUTO_INCREMENT для таблицы `sites`
--
ALTER TABLE `sites`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- Ограничения внешнего ключа таблицы `sites`
--
ALTER TABLE `sites`
ADD CONSTRAINT `sites_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `sites_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`);
-- --------------------------------------------------------
--
-- Структура таблицы `reviews`
--
CREATE TABLE `reviews` (
`id` int(11) NOT NULL,
`site_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`parent_id` int(11) DEFAULT NULL,
`rating` int(11) NOT NULL,
`comment` text,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Индексы таблицы `reviews`
--
ALTER TABLE `reviews`
ADD PRIMARY KEY (`id`),
ADD KEY `site_id` (`site_id`),
ADD KEY `user_id` (`user_id`),
ADD KEY `parent_id` (`parent_id`);
--
-- AUTO_INCREMENT для таблицы `reviews`
--
ALTER TABLE `reviews`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- Ограничения внешнего ключа таблицы `reviews`
--
ALTER TABLE `reviews`
ADD CONSTRAINT `reviews_ibfk_1` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `reviews_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `reviews_ibfk_3` FOREIGN KEY (`parent_id`) REFERENCES `reviews` (`id`) ON DELETE CASCADE;
-- --------------------------------------------------------
--
-- Структура таблицы `review_images`
--
CREATE TABLE `review_images` (
`id` int(11) NOT NULL,
`review_id` int(11) NOT NULL,
`image_path` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Индексы таблицы `review_images`
--
ALTER TABLE `review_images`
ADD PRIMARY KEY (`id`),
ADD KEY `review_id` (`review_id`);
--
-- AUTO_INCREMENT для таблицы `review_images`
--
ALTER TABLE `review_images`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- Ограничения внешнего ключа таблицы `review_images`
--
ALTER TABLE `review_images`
ADD CONSTRAINT `review_images_ibfk_1` FOREIGN KEY (`review_id`) REFERENCES `reviews` (`id`) ON DELETE CASCADE;
-- --------------------------------------------------------
--
-- Структура таблицы `stats`
--
CREATE TABLE `stats` (
`id` int(11) NOT NULL,
`site_id` int(11) NOT NULL,
`date` date NOT NULL,
`views` int(11) NOT NULL DEFAULT '0',
`hits` int(11) NOT NULL DEFAULT '0',
`unique_visitors` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Индексы таблицы `stats`
--
ALTER TABLE `stats`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `site_date_unique` (`site_id`,`date`);
--
-- AUTO_INCREMENT для таблицы `stats`
--
ALTER TABLE `stats`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- Ограничения внешнего ключа таблицы `stats`
--
ALTER TABLE `stats`
ADD CONSTRAINT `stats_ibfk_1` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE CASCADE;
-- --------------------------------------------------------
--
-- Структура таблицы `stats_visitors`
--
CREATE TABLE `stats_visitors` (
`id` int(11) NOT NULL,
`stat_id` int(11) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`visit_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Индексы таблицы `stats_visitors`
--
ALTER TABLE `stats_visitors`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `stat_ip_unique` (`stat_id`,`ip_address`);
--
-- AUTO_INCREMENT для таблицы `stats_visitors`
--
ALTER TABLE `stats_visitors`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- Ограничения внешнего ключа таблицы `stats_visitors`
--
ALTER TABLE `stats_visitors`
ADD CONSTRAINT `stats_visitors_ibfk_1` FOREIGN KEY (`stat_id`) REFERENCES `stats` (`id`) ON DELETE CASCADE;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;