mirror of
				https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
				synced 2025-11-03 12:10:20 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			131 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE TABLE `settings` (
 | 
						|
  `setting` varchar(255) NOT NULL UNIQUE,
 | 
						|
  `value` varchar(255) NOT NULL
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
CREATE TABLE `services` (
 | 
						|
  `id` int(11) NOT NULL,
 | 
						|
  `name` varchar(50) COLLATE utf8_czech_ci NOT NULL
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
CREATE TABLE `services_status` (
 | 
						|
  `id` int(11) NOT NULL,
 | 
						|
  `service_id` int(11) NOT NULL,
 | 
						|
  `status_id` int(11) NOT NULL
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
CREATE TABLE `status` (
 | 
						|
  `id` int(11) NOT NULL,
 | 
						|
  `type` int(11) NOT NULL,
 | 
						|
  `title` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `text` text COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `time` int(11) NOT NULL,
 | 
						|
  `end_time` int(11) NOT NULL,
 | 
						|
  `user_id` int(11) NOT NULL
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
CREATE TABLE `tokens` (
 | 
						|
  `token` varchar(64) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `user` int(11) NOT NULL,
 | 
						|
  `expire` int(11) NOT NULL,
 | 
						|
  `data` varchar(80) COLLATE utf8_czech_ci NOT NULL
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
CREATE TABLE `users` (
 | 
						|
  `id` int(11) NOT NULL,
 | 
						|
  `email` varchar(60) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `username` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `name` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `surname` varchar(50) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `password_hash` char(64) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `password_salt` char(64) COLLATE utf8_czech_ci NOT NULL,
 | 
						|
  `permission` int(11) NOT NULL DEFAULT '0',
 | 
						|
  `active` tinyint(1) NOT NULL DEFAULT '1'
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
CREATE TABLE `subscribers` (
 | 
						|
  `subscriberID` int(11) NOT NULL,
 | 
						|
  `telegramID` int(50) NOT NULL,
 | 
						|
  `firstname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
 | 
						|
  `lastname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 | 
						|
CREATE TABLE `services_subscriber` (
 | 
						|
  `comboID` int(11) NOT NULL,
 | 
						|
  `subscriberIDFK` int(11) NOT NULL,
 | 
						|
  `serviceIDFK` int(11) NOT NULL
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 | 
						|
CREATE TABLE queue_notify (
 | 
						|
  id int(11) NOT NULL AUTO_INCREMENT,
 | 
						|
  task_id int(11) NOT NULL,
 | 
						|
  status tinyint(1) NOT NULL,
 | 
						|
  subscriber_id int(11) NOT NULL,
 | 
						|
  retries tinyint(1) DEFAULT NULL,
 | 
						|
  PRIMARY KEY (id)
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
 | 
						|
CREATE TABLE queue_task (
 | 
						|
  id int(11) NOT NULL AUTO_INCREMENT,
 | 
						|
  type_id int(11) NOT NULL,
 | 
						|
  status tinyint(1) NOT NULL,
 | 
						|
  template_data1 text COLLATE utf8_czech_ci,
 | 
						|
  template_data2 text COLLATE utf8_czech_ci,
 | 
						|
  created_time int(11) NOT NULL,
 | 
						|
  completed_time int(11) DEFAULT NULL,
 | 
						|
  num_errors int(11) DEFAULT NULL,
 | 
						|
  user_id int(11) NOT NULL,
 | 
						|
  PRIMARY KEY (id)
 | 
						|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
 | 
						|
ALTER TABLE `services`
 | 
						|
  ADD PRIMARY KEY (`id`);
 | 
						|
ALTER TABLE `services_status`
 | 
						|
  ADD PRIMARY KEY (`id`),
 | 
						|
  ADD KEY `service_id` (`service_id`),
 | 
						|
  ADD KEY `status_id` (`status_id`);
 | 
						|
ALTER TABLE `status`
 | 
						|
  ADD PRIMARY KEY (`id`),
 | 
						|
  ADD KEY `user_id` (`user_id`);
 | 
						|
ALTER TABLE `tokens`
 | 
						|
  ADD PRIMARY KEY (`token`),
 | 
						|
  ADD KEY `user` (`user`);
 | 
						|
ALTER TABLE `users`
 | 
						|
  ADD PRIMARY KEY (`id`),
 | 
						|
  ADD UNIQUE KEY `email` (`email`),
 | 
						|
  ADD UNIQUE KEY `username` (`username`);
 | 
						|
ALTER TABLE `services`
 | 
						|
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
 | 
						|
ALTER TABLE `services_status`
 | 
						|
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
 | 
						|
ALTER TABLE `status`
 | 
						|
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
 | 
						|
ALTER TABLE `users`
 | 
						|
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
 | 
						|
ALTER TABLE `services_subscriber`
 | 
						|
  ADD PRIMARY KEY (`comboID`),
 | 
						|
  ADD UNIQUE KEY `unique_subscription` (`subscriberIDFK`,`serviceIDFK`),
 | 
						|
  ADD KEY `serviceIDFK` (`serviceIDFK`);
 | 
						|
ALTER TABLE `subscribers`
 | 
						|
  ADD PRIMARY KEY (`subscriberID`),
 | 
						|
  ADD UNIQUE KEY `telegramID` (`telegramID`);
 | 
						|
ALTER TABLE `services_subscriber`
 | 
						|
  MODIFY `comboID` int(11) NOT NULL AUTO_INCREMENT;
 | 
						|
ALTER TABLE `subscribers`
 | 
						|
  MODIFY `subscriberID` int(11) NOT NULL AUTO_INCREMENT;
 | 
						|
ALTER TABLE `services_status`
 | 
						|
  ADD CONSTRAINT `service_id` FOREIGN KEY (`service_id`) REFERENCES `services` (`id`),
 | 
						|
  ADD CONSTRAINT `status_id` FOREIGN KEY (`status_id`) REFERENCES `status` (`id`);
 | 
						|
ALTER TABLE `status`
 | 
						|
  ADD CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
 | 
						|
ALTER TABLE `tokens`
 | 
						|
  ADD CONSTRAINT `user` FOREIGN KEY (`user`) REFERENCES `users` (`id`);
 | 
						|
ALTER TABLE `services_subscriber`
 | 
						|
  ADD CONSTRAINT `services_subscriber_ibfk_1` FOREIGN KEY (`subscriberIDFK`) REFERENCES `subscribers` (`subscriberID`) ON DELETE CASCADE ON UPDATE CASCADE,
 | 
						|
  ADD CONSTRAINT `services_subscriber_ibfk_2` FOREIGN KEY (`serviceIDFK`) REFERENCES `services` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
 | 
						|
COMMIT;
 | 
						|
 | 
						|
ALTER TABLE `subscribers` CHANGE COLUMN lastname lastname varchar(255) DEFAULT NULL; # was varchar(255) NOT NULL
 | 
						|
ALTER TABLE `subscribers` CHANGE COLUMN firstname firstname varchar(255) DEFAULT NULL; # was varchar(255) NOT NULL
 | 
						|
ALTER TABLE `subscribers` CHANGE COLUMN telegramID userID varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL;
 | 
						|
ALTER TABLE `subscribers` ADD COLUMN typeID tinyint(1) NOT NULL AFTER subscriberID;
 | 
						|
ALTER TABLE `subscribers` ADD COLUMN token varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL AFTER lastname;
 | 
						|
ALTER TABLE `subscribers` ADD COLUMN expires int(11) DEFAULT NULL;
 | 
						|
ALTER TABLE `subscribers` ADD COLUMN active tinyint(1) DEFAULT NULL;
 | 
						|
ALTER TABLE `subscribers` ADD COLUMN create_time int(11) DEFAULT NULL;
 | 
						|
ALTER TABLE `subscribers` ADD COLUMN update_time int(11) DEFAULT NULL;
 | 
						|
ALTER TABLE `subscribers` DROP INDEX telegramID; # was UNIQUE (telegramID)
 | 
						|
ALTER TABLE `subscribers` ADD UNIQUE userID (userID);
 | 
						|
COMMIT;
 |