Skip to content

Commit

Permalink
refactor($SQL): update SQL
Browse files Browse the repository at this point in the history
  • Loading branch information
johnnymillergh committed May 5, 2020
1 parent a05d97e commit 2c2b223
Show file tree
Hide file tree
Showing 2 changed files with 213 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
-- MySQL dump 10.13 Distrib 8.0.18, for macos10.14 (x86_64)
-- MySQL dump 10.13 Distrib 8.0.19, for macos10.15 (x86_64)
--
-- Host: 127.0.0.1 Database: muscle_and_fitness
-- ------------------------------------------------------
Expand Down Expand Up @@ -277,6 +277,39 @@ INSERT INTO `muscle_image` VALUES (1,1,'upload/muscle-picture/adductors/Adductor
/*!40000 ALTER TABLE `muscle_image` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `permission`
--

DROP TABLE IF EXISTS `permission`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `permission` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key',
`url` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'URL. If type of record is page (1), URL stands for route; if type of record is button (2), URL stands for API',
`description` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Permission description',
`type` tinyint NOT NULL COMMENT 'Permission type. 1 - page; 2 - button',
`permission_expression` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Permission expression',
`method` enum('GET','HEAD','POST','PUT','DELETE','CONNECT','OPTIONS','TRACE','PATCH') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'HTTP method of API',
`sort` int NOT NULL DEFAULT '0' COMMENT 'Sort number',
`parent_id` bigint DEFAULT '0' COMMENT 'Primary key of parent',
`deleted` tinyint NOT NULL DEFAULT '0' COMMENT 'Deleted flag',
`created_time` datetime NOT NULL COMMENT 'Created time',
`modified_time` datetime NOT NULL COMMENT 'Modified time',
PRIMARY KEY (`id`),
UNIQUE KEY `permission_expression_UNIQUE` (`permission_expression`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Permission.';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `permission`
--

LOCK TABLES `permission` WRITE;
/*!40000 ALTER TABLE `permission` DISABLE KEYS */;
/*!40000 ALTER TABLE `permission` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `related_muscle`
--
Expand All @@ -302,6 +335,56 @@ INSERT INTO `related_muscle` VALUES (1,1,16),(2,2,3),(3,2,4),(4,3,2),(5,3,4),(6,
/*!40000 ALTER TABLE `related_muscle` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `role`
--

DROP TABLE IF EXISTS `role`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `role` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key',
`name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Role name',
`description` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Role description',
`created_time` datetime NOT NULL COMMENT 'Created time',
`modified_time` datetime NOT NULL COMMENT 'Modified time',
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Role.';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `role`
--

LOCK TABLES `role` WRITE;
/*!40000 ALTER TABLE `role` DISABLE KEYS */;
/*!40000 ALTER TABLE `role` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `role_permission`
--

DROP TABLE IF EXISTS `role_permission`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `role_permission` (
`role_id` bigint NOT NULL COMMENT 'Primary key of role',
`permission_id` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Primary key of permission',
PRIMARY KEY (`role_id`,`permission_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Role-permission Relation.';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `role_permission`
--

LOCK TABLES `role_permission` WRITE;
/*!40000 ALTER TABLE `role_permission` DISABLE KEYS */;
/*!40000 ALTER TABLE `role_permission` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `test_table`
--
Expand All @@ -328,6 +411,66 @@ LOCK TABLES `test_table` WRITE;
INSERT INTO `test_table` VALUES (1,'Hello',12,12.2,'2020-01-10 14:23:33');
/*!40000 ALTER TABLE `test_table` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `user`
--

DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `user` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary key of user',
`username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Username',
`email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Email',
`cellphone` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Cellphone number',
`password` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Password',
`full_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Full name',
`birthday` date DEFAULT NULL COMMENT 'Birthday',
`gender` enum('Agender','Androgyne','Bigender','Cisgender','Cisgender Female','Cisgender Male','Female to Male','Gender Fluid','Gender Nonconforming','Gender Questioning','Gender Variant','Genderqueer','Intersex','Male to Female','Neither','Neutrois','Non-binary','Other','Pangender','Transfeminine','Transgender','Transgender Female','Transgender Male','Transgender Person','Transmasculine','Two-Spirit') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '26 gender options',
`avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'User avatar full path on SFTP server',
`status` tinyint NOT NULL DEFAULT '1' COMMENT 'Status. 1 - enabled, 2 - disabled',
`created_time` datetime NOT NULL COMMENT 'Created time',
`modified_time` datetime DEFAULT NULL COMMENT 'Modified time',
PRIMARY KEY (`id`),
UNIQUE KEY `email_UNIQUE` (`email`),
UNIQUE KEY `username_UNIQUE` (`username`),
UNIQUE KEY `cellphone_UNIQUE` (`cellphone`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='User.';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `user`
--

LOCK TABLES `user` WRITE;
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
INSERT INTO `user` VALUES (1,'ijohnnymiller','ijohnnymiller@icloud.com','13100959832','123','Johnny Miller','1996-04-29',NULL,'',1,'2020-03-20 17:10:05',NULL);
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `user_role`
--

DROP TABLE IF EXISTS `user_role`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `user_role` (
`user_id` bigint NOT NULL COMMENT 'Primary key of user',
`role_id` bigint NOT NULL COMMENT 'Primary key of role',
PRIMARY KEY (`user_id`,`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='User-role Relation. Roles that users have.';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `user_role`
--

LOCK TABLES `user_role` WRITE;
/*!40000 ALTER TABLE `user_role` DISABLE KEYS */;
/*!40000 ALTER TABLE `user_role` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
Expand All @@ -338,4 +481,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2020-03-12 13:57:20
-- Dump completed on 2020-05-05 20:46:38
70 changes: 68 additions & 2 deletions misc/mysql-script/table-structure.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# This script was generated by Datagrip. 1:54 PM, Mar.12, 2020

CREATE TABLE body_part (
id bigint UNSIGNED AUTO_INCREMENT COMMENT 'The ID of body part.'
PRIMARY KEY,
Expand Down Expand Up @@ -141,6 +139,24 @@ CREATE TABLE muscle_image (
The relationship:
One muscle to one or more muscle image.';

CREATE TABLE permission (
id bigint UNSIGNED AUTO_INCREMENT COMMENT 'Primary key'
PRIMARY KEY,
url varchar(200) NOT NULL COMMENT 'URL. If type of record is page (1), URL stands for route; if type of record is button (2), URL stands for API',
description varchar(100) NOT NULL COMMENT 'Permission description',
type tinyint NOT NULL COMMENT 'Permission type. 1 - page; 2 - button',
permission_expression varchar(50) NULL COMMENT 'Permission expression',
method enum ('GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH') NULL COMMENT 'HTTP method of API',
sort int DEFAULT 0 NOT NULL COMMENT 'Sort number',
parent_id bigint DEFAULT 0 NULL COMMENT 'Primary key of parent',
deleted tinyint DEFAULT 0 NOT NULL COMMENT 'Deleted flag',
created_time datetime NOT NULL COMMENT 'Created time',
modified_time datetime NOT NULL COMMENT 'Modified time',
CONSTRAINT permission_expression_UNIQUE
UNIQUE (permission_expression)
)
COMMENT 'Permission.';

CREATE TABLE related_muscle (
id bigint UNSIGNED AUTO_INCREMENT COMMENT 'The ID of related muscle.'
PRIMARY KEY,
Expand All @@ -149,6 +165,25 @@ CREATE TABLE related_muscle (
)
COMMENT 'Muscle''s related muscles.';

CREATE TABLE role (
id bigint UNSIGNED AUTO_INCREMENT COMMENT 'Primary key'
PRIMARY KEY,
name varchar(50) NOT NULL COMMENT 'Role name',
description varchar(100) NOT NULL COMMENT 'Role description',
created_time datetime NOT NULL COMMENT 'Created time',
modified_time datetime NOT NULL COMMENT 'Modified time',
CONSTRAINT name_UNIQUE
UNIQUE (name)
)
COMMENT 'Role.';

CREATE TABLE role_permission (
role_id bigint NOT NULL COMMENT 'Primary key of role',
permission_id varchar(45) NOT NULL COMMENT 'Primary key of permission',
PRIMARY KEY (role_id, permission_id)
)
COMMENT 'Role-permission Relation.';

CREATE TABLE test_table (
id bigint UNSIGNED AUTO_INCREMENT
PRIMARY KEY,
Expand All @@ -158,3 +193,34 @@ CREATE TABLE test_table (
datetime_value datetime NULL
)
COMMENT 'Test Table for ORM library.';

CREATE TABLE user (
id bigint UNSIGNED AUTO_INCREMENT COMMENT 'Primary key of user'
PRIMARY KEY,
username varchar(50) NOT NULL COMMENT 'Username',
email varchar(100) NOT NULL COMMENT 'Email',
cellphone varchar(11) NULL COMMENT 'Cellphone number',
password varchar(60) NOT NULL COMMENT 'Password',
full_name varchar(255) NULL COMMENT 'Full name',
birthday date NULL COMMENT 'Birthday',
gender enum ('Agender', 'Androgyne', 'Bigender', 'Cisgender', 'Cisgender Female', 'Cisgender Male', 'Female to Male', 'Gender Fluid', 'Gender Nonconforming', 'Gender Questioning', 'Gender Variant', 'Genderqueer', 'Intersex', 'Male to Female', 'Neither', 'Neutrois', 'Non-binary', 'Other', 'Pangender', 'Transfeminine', 'Transgender', 'Transgender Female', 'Transgender Male', 'Transgender Person', 'Transmasculine', 'Two-Spirit') NULL COMMENT '26 gender options',
avatar varchar(255) NULL COMMENT 'User avatar full path on SFTP server',
status tinyint DEFAULT 1 NOT NULL COMMENT 'Status. 1 - enabled, 2 - disabled',
created_time datetime NOT NULL COMMENT 'Created time',
modified_time datetime NULL COMMENT 'Modified time',
CONSTRAINT cellphone_UNIQUE
UNIQUE (cellphone),
CONSTRAINT email_UNIQUE
UNIQUE (email),
CONSTRAINT username_UNIQUE
UNIQUE (username)
)
COMMENT 'User.';

CREATE TABLE user_role (
user_id bigint NOT NULL COMMENT 'Primary key of user',
role_id bigint NOT NULL COMMENT 'Primary key of role',
PRIMARY KEY (user_id, role_id)
)
COMMENT 'User-role Relation. Roles that users have.';

0 comments on commit 2c2b223

Please sign in to comment.