CREATE TABLE `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL DEFAULT '',
`type` enum('AUT','SUB') NOT NULL DEFAULT 'SUB',
PRIMARY KEY (`id`)
);
CREATE TABLE `subscription` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`author_id` int(11) NOT NULL COMMENT 'На кого подписываются',
`subscriber_id` int(11) NOT NULL COMMENT 'Кто подписывается',
`created_at` timestamp NOT NULL COMMENT 'Время подписки',
`expired_at` timestamp NOT NULL COMMENT 'Когда истекает подписка',
PRIMARY KEY (`id`)
);
# Пусть у нас есть один автор и два пользователя:
INSERT INTO `user` (`id`, `name`, `type`)
VALUES
(1, 'Alex Pushkin', 'AUT'),
(2, 'Vasya Pupkin', 'SUB'),
(3, 'Jane Doe', 'SUB');
# Один из них подписался на Автора месяцем ранее, второй недавно
INSERT INTO `subscription` (`author_id`, `subscriber_id`, `created_at`, `expired_at`)
VALUES
(1, 2, '2020-02-15 13:46:12', '2020-03-15 13:46:12'),
(1, 3, '2020-03-15 13:46:12', '2020-04-15 13:46:12');