35 lines
1.5 KiB
SQL
35 lines
1.5 KiB
SQL
-- mini_programs 表存储小程序凭证
|
|
CREATE TABLE IF NOT EXISTS `mini_programs` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
|
|
`created_at` datetime(3) NULL DEFAULT NULL,
|
|
`updated_at` datetime(3) NULL DEFAULT NULL,
|
|
`deleted_at` datetime(3) NULL DEFAULT NULL,
|
|
`name` varchar(100) NOT NULL,
|
|
`app_id` varchar(100) NOT NULL,
|
|
`app_secret` varchar(200) NOT NULL,
|
|
`description` varchar(255) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `idx_mini_programs_app_id` (`app_id`),
|
|
KEY `idx_mini_programs_deleted_at` (`deleted_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- users 表结构,与 internal/model/user.go 对应
|
|
CREATE TABLE IF NOT EXISTS `users` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
|
|
`created_at` datetime(3) NULL DEFAULT NULL,
|
|
`updated_at` datetime(3) NULL DEFAULT NULL,
|
|
`deleted_at` datetime(3) NULL DEFAULT NULL,
|
|
`mini_program_id` bigint unsigned NOT NULL,
|
|
`open_id` varchar(100) NOT NULL,
|
|
`union_id` varchar(100) DEFAULT NULL,
|
|
`nick_name` varchar(100) DEFAULT NULL,
|
|
`avatar_url` varchar(500) DEFAULT NULL,
|
|
`gender` tinyint(1) NOT NULL DEFAULT 0,
|
|
`phone` varchar(20) DEFAULT NULL,
|
|
`session_key` varchar(100) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `idx_mini_open` (`mini_program_id`,`open_id`),
|
|
KEY `idx_users_deleted_at` (`deleted_at`),
|
|
CONSTRAINT `fk_users_mini_program` FOREIGN KEY (`mini_program_id`) REFERENCES `mini_programs`(`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|