From d9713d0f8cf5b8df5be60949c0aada0e759f359b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 22 一月 2025 16:32:17 +0800
Subject: [PATCH] update 优化 测试用户增加工作流业务查看审批权限

---
 script/sql/sqlserver/sqlserver_ry_vue_5.X.sql | 2255 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 1,716 insertions(+), 539 deletions(-)

diff --git a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
index 212067d..9f8481a 100644
--- a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
+++ b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
@@ -1,28 +1,499 @@
-
-CREATE TABLE [gen_table]
+create table sys_social
 (
-    [table_id]          bigint                         NOT NULL,
-    [table_name]        nvarchar(200) DEFAULT ''       NULL,
-    [table_comment]     nvarchar(500) DEFAULT ''       NULL,
-    [sub_table_name]    nvarchar(64)                   NULL,
-    [sub_table_fk_name] nvarchar(64)                   NULL,
-    [class_name]        nvarchar(100) DEFAULT ''       NULL,
-    [tpl_category]      nvarchar(200) DEFAULT ('crud') NULL,
-    [package_name]      nvarchar(100)                  NULL,
-    [module_name]       nvarchar(30)                   NULL,
-    [business_name]     nvarchar(30)                   NULL,
-    [function_name]     nvarchar(50)                   NULL,
-    [function_author]   nvarchar(50)                   NULL,
-    [gen_type]          nchar(1)      DEFAULT ('0')    NULL,
-    [gen_path]          nvarchar(200) DEFAULT ('/')    NULL,
-    [options]           nvarchar(1000)                 NULL,
-    [create_dept]       bigint                         NULL,
-    [create_by]         bigint                         NULL,
-    [create_time]       datetime2(7)                   NULL,
-    [update_by]         bigint                         NULL,
-    [update_time]       datetime2(7)                   NULL,
-    [remark]            nvarchar(500)                  NULL,
-    CONSTRAINT [PK__gen_tabl__B21E8F2427725F8A] PRIMARY KEY CLUSTERED ([table_id])
+    id                 bigint            NOT NULL,
+    user_id            bigint            NOT NULL,
+    tenant_id          nvarchar(20)      DEFAULT ('000000') NULL,
+    auth_id            nvarchar(255)     NOT NULL,
+    source             nvarchar(255)     NOT NULL,
+    open_id            nvarchar(255)     NULL,
+    user_name          nvarchar(30)      NOT NULL,
+    nick_name          nvarchar(30)      DEFAULT ('')   NULL,
+    email              nvarchar(255)     DEFAULT ('')   NULL,
+    avatar             nvarchar(500)     DEFAULT ('')   NULL,
+    access_token       nvarchar(255)     NOT NULL,
+    expire_in          bigint            NULL,
+    refresh_token      nvarchar(255)     NULL,
+    access_code        nvarchar(255)     NULL,
+    union_id           nvarchar(255)     NULL,
+    scope              nvarchar(255)     NULL,
+    token_type         nvarchar(255)     NULL,
+    id_token           nvarchar(2000)    NULL,
+    mac_algorithm      nvarchar(255)     NULL,
+    mac_key            nvarchar(255)     NULL,
+    code               nvarchar(255)     NULL,
+    oauth_token        nvarchar(255)     NULL,
+    oauth_token_secret nvarchar(255)     NULL,
+    create_dept        bigint,
+    create_by          bigint,
+    create_time        datetime2(7),
+    update_by          bigint,
+    update_time        datetime2(7),
+    del_flag           nchar             DEFAULT ('0')   NULL,
+    CONSTRAINT PK__sys_social__B21E8F2427725F8A PRIMARY KEY CLUSTERED (id)
+    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+    ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛ID' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'user_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'tenant_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'骞冲彴+骞冲彴鍞竴id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'auth_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛鏉ユ簮' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'source'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'骞冲彴缂栧彿鍞竴id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'open_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐧诲綍璐﹀彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'user_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛鏄电О' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'nick_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛閭' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'email'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'澶村儚鍦板潃' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'avatar'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛鐨勬巿鏉冧护鐗�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'access_token'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛鐨勬巿鏉冧护鐗岀殑鏈夋晥鏈燂紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'expire_in'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒锋柊浠ょ墝锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'refresh_token'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'骞冲彴鐨勬巿鏉冧俊鎭紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'access_code'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛鐨� unionid' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'union_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鎺堜簣鐨勬潈闄愶紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'scope'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'涓埆骞冲彴鐨勬巿鏉冧俊鎭紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'token_type'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'id token锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'id_token'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'灏忕背骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'mac_algorithm'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'灏忕背骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'mac_key'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛鐨勬巿鏉僣ode锛岄儴鍒嗗钩鍙板彲鑳芥病鏈�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'code'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'Twitter骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'oauth_token'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'Twitter骞冲彴鐢ㄦ埛鐨勯檮甯﹀睘鎬э紝閮ㄥ垎骞冲彴鍙兘娌℃湁' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'oauth_token_secret'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'del_flag'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'create_dept'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鑰�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'create_by'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'create_time'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鏇存柊鑰�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'update_by'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social',
+    'COLUMN', N'update_time'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'绀句細鍖栧叧绯昏〃',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_social'
+GO
+
+CREATE TABLE sys_tenant
+(
+    id                    bigint                          NOT NULL,
+    tenant_id             nvarchar(20)                    NOT NULL,
+    contact_user_name     nvarchar(20)                    NULL,
+    contact_phone         nvarchar(20)                    NULL,
+    company_name          nvarchar(50)                    NULL,
+    license_number        nvarchar(30)                    NULL,
+    address               nvarchar(200)                   NULL,
+    intro                 nvarchar(200)                   NULL,
+    domain                nvarchar(200)                   NULL,
+    remark                nvarchar(200)                   NULL,
+    package_id            bigint                          NULL,
+    expire_time           datetime2(7)                    NULL,
+    account_count         int             DEFAULT ((-1))  NULL,
+    status                nchar(1)        DEFAULT ('0')   NULL,
+    del_flag              nchar(1)        DEFAULT ('0')   NULL,
+    create_dept           bigint                          NULL,
+    create_by             bigint                          NULL,
+    create_time           datetime2(7)                    NULL,
+    update_by             bigint                          NULL,
+    update_time           datetime2(7)                    NULL,
+    CONSTRAINT PK__sys_tenant__B21E8F2427725F8A PRIMARY KEY CLUSTERED (id)
+        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+        ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'tenant_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鑱旂郴浜�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'contact_user_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鑱旂郴鐢佃瘽' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'contact_phone'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'浼佷笟鍚嶇О' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'company_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'缁熶竴绀句細淇$敤浠g爜' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'license_number'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍦板潃' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'address'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'浼佷笟绠�浠�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'intro'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍩熷悕' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'domain'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'澶囨敞' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'remark'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛濂楅缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'package_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'杩囨湡鏃堕棿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'expire_time'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛鏁伴噺锛�-1涓嶉檺鍒讹級' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'account_count'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛鐘舵�侊紙0姝e父 1鍋滅敤锛�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'status'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'del_flag'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'create_dept'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鑰�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'create_by'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'create_time'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鏇存柊鑰�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'update_by'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant',
+    'COLUMN', N'update_time'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛琛�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant'
+GO
+
+INSERT sys_tenant VALUES (1, N'000000', N'绠$悊缁�', N'15888888888', N'XXX鏈夐檺鍏徃', NULL, NULL, N'澶氱鎴烽�氱敤鍚庡彴绠$悊绠$悊绯荤粺', NULL, NULL, NULL, NULL, -1, N'0', N'0', 103, 1, getdate(), NULL, NULL)
+GO
+
+
+CREATE TABLE sys_tenant_package
+(
+    package_id            bigint                          NOT NULL,
+    package_name          nvarchar(20)                    NOT NULL,
+    menu_ids              nvarchar(20)                    NULL,
+    remark                nvarchar(200)                   NULL,
+    menu_check_strictly   tinyint         DEFAULT ((1))   NULL,
+    status                nchar(1)        DEFAULT ('0')   NULL,
+    del_flag              nchar(1)        DEFAULT ('0')   NULL,
+    create_dept           bigint                          NULL,
+    create_by             bigint                          NULL,
+    create_time           datetime2(7)                    NULL,
+    update_by             bigint                          NULL,
+    update_time           datetime2(7)                    NULL,
+    CONSTRAINT PK__sys_tenant_package__B21E8F2427725F8A PRIMARY KEY CLUSTERED (package_id)
+        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+        ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛濂楅id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'package_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'濂楅鍚嶇О' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'package_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍏宠仈鑿滃崟id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'menu_ids'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'澶囨敞' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'remark'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛鐘舵�侊紙0姝e父 1鍋滅敤锛�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'status'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'del_flag'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'create_dept'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鑰�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'create_by'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'create_time'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鏇存柊鑰�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'update_by'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package',
+    'COLUMN', N'update_time'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛濂楅琛�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_tenant_package'
+GO
+
+
+CREATE TABLE gen_table
+(
+    table_id          bigint                         NOT NULL,
+    data_name         nvarchar(200) DEFAULT ''       NULL,
+    table_name        nvarchar(200) DEFAULT ''       NULL,
+    table_comment     nvarchar(500) DEFAULT ''       NULL,
+    sub_table_name    nvarchar(64)                   NULL,
+    sub_table_fk_name nvarchar(64)                   NULL,
+    class_name        nvarchar(100) DEFAULT ''       NULL,
+    tpl_category      nvarchar(200) DEFAULT ('crud') NULL,
+    package_name      nvarchar(100)                  NULL,
+    module_name       nvarchar(30)                   NULL,
+    business_name     nvarchar(30)                   NULL,
+    function_name     nvarchar(50)                   NULL,
+    function_author   nvarchar(50)                   NULL,
+    gen_type          nchar(1)      DEFAULT ('0')    NULL,
+    gen_path          nvarchar(200) DEFAULT ('/')    NULL,
+    options           nvarchar(1000)                 NULL,
+    create_dept       bigint                         NULL,
+    create_by         bigint                         NULL,
+    create_time       datetime2(7)                   NULL,
+    update_by         bigint                         NULL,
+    update_time       datetime2(7)                   NULL,
+    remark            nvarchar(500)                  NULL,
+    CONSTRAINT PK__gen_tabl__B21E8F2427725F8A PRIMARY KEY CLUSTERED (table_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -34,6 +505,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'gen_table',
     'COLUMN', N'table_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鏁版嵁婧愬悕绉�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'gen_table',
+    'COLUMN', N'data_name'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'琛ㄥ悕绉�' ,
@@ -161,32 +638,32 @@
     'TABLE', N'gen_table'
 GO
 
-CREATE TABLE [gen_table_column]
+CREATE TABLE gen_table_column
 (
-    [column_id]      bigint                       NOT NULL,
-    [table_id]       bigint                       NULL,
-    [column_name]    nvarchar(200)                NULL,
-    [column_comment] nvarchar(500)                NULL,
-    [column_type]    nvarchar(100)                NULL,
-    [java_type]      nvarchar(500)                NULL,
-    [java_field]     nvarchar(200)                NULL,
-    [is_pk]          nchar(1)                     NULL,
-    [is_increment]   nchar(1)                     NULL,
-    [is_required]    nchar(1)                     NULL,
-    [is_insert]      nchar(1)                     NULL,
-    [is_edit]        nchar(1)                     NULL,
-    [is_list]        nchar(1)                     NULL,
-    [is_query]       nchar(1)                     NULL,
-    [query_type]     nvarchar(200) DEFAULT ('EQ') NULL,
-    [html_type]      nvarchar(200)                NULL,
-    [dict_type]      nvarchar(200) DEFAULT ''     NULL,
-    [sort]           int                          NULL,
-    [create_dept]    bigint                       NULL,
-    [create_by]      bigint                       NULL,
-    [create_time]    datetime2(7)                 NULL,
-    [update_by]      bigint                       NULL,
-    [update_time]    datetime2(7)                 NULL,
-    CONSTRAINT [PK__gen_tabl__E301851F2E68B4E8] PRIMARY KEY CLUSTERED ([column_id])
+    column_id      bigint                       NOT NULL,
+    table_id       bigint                       NULL,
+    column_name    nvarchar(200)                NULL,
+    column_comment nvarchar(500)                NULL,
+    column_type    nvarchar(100)                NULL,
+    java_type      nvarchar(500)                NULL,
+    java_field     nvarchar(200)                NULL,
+    is_pk          nchar(1)                     NULL,
+    is_increment   nchar(1)                     NULL,
+    is_required    nchar(1)                     NULL,
+    is_insert      nchar(1)                     NULL,
+    is_edit        nchar(1)                     NULL,
+    is_list        nchar(1)                     NULL,
+    is_query       nchar(1)                     NULL,
+    query_type     nvarchar(200) DEFAULT ('EQ') NULL,
+    html_type      nvarchar(200)                NULL,
+    dict_type      nvarchar(200) DEFAULT ''     NULL,
+    sort           int                          NULL,
+    create_dept    bigint                       NULL,
+    create_by      bigint                       NULL,
+    create_time    datetime2(7)                 NULL,
+    update_by      bigint                       NULL,
+    update_time    datetime2(7)                 NULL,
+    CONSTRAINT PK__gen_tabl__E301851F2E68B4E8 PRIMARY KEY CLUSTERED (column_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -337,20 +814,21 @@
     'TABLE', N'gen_table_column'
 GO
 
-CREATE TABLE [sys_config]
+CREATE TABLE sys_config
 (
-    [config_id]    bigint                      NOT NULL,
-    [config_name]  nvarchar(100) DEFAULT ''    NULL,
-    [config_key]   nvarchar(100) DEFAULT ''    NULL,
-    [config_value] nvarchar(500) DEFAULT ''    NULL,
-    [config_type]  nchar(1)      DEFAULT ('N') NULL,
-    [create_dept]  bigint                      NULL,
-    [create_by]    bigint                      NULL,
-    [create_time]  datetime2(7)                NULL,
-    [update_by]    bigint                      NULL,
-    [update_time]  datetime2(7)                NULL,
-    [remark]       nvarchar(500)               NULL,
-    CONSTRAINT [PK__sys_conf__4AD1BFF182643682] PRIMARY KEY CLUSTERED ([config_id])
+    config_id    bigint                      NOT NULL,
+    tenant_id    nvarchar(20)  DEFAULT '000000'  NULL,
+    config_name  nvarchar(100) DEFAULT ''    NULL,
+    config_key   nvarchar(100) DEFAULT ''    NULL,
+    config_value nvarchar(500) DEFAULT ''    NULL,
+    config_type  nchar(1)      DEFAULT ('N') NULL,
+    create_dept  bigint                      NULL,
+    create_by    bigint                      NULL,
+    create_time  datetime2(7)                NULL,
+    update_by    bigint                      NULL,
+    update_time  datetime2(7)                NULL,
+    remark       nvarchar(500)               NULL,
+    CONSTRAINT PK__sys_conf__4AD1BFF182643682 PRIMARY KEY CLUSTERED (config_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -362,6 +840,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_config',
     'COLUMN', N'config_id'
+GO
+EXEC sys.sp_addextendedproperty
+     'MS_Description', N'绉熸埛缂栧彿' ,
+     'SCHEMA', N'dbo',
+     'TABLE', N'sys_config',
+     'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鍙傛暟鍚嶇О' ,
@@ -429,37 +913,37 @@
     'TABLE', N'sys_config'
 GO
 
-INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'涓绘鏋堕〉-榛樿鐨偆鏍峰紡鍚嶇О', N'sys.index.skinName', N'skin-blue', N'Y', 103, 1, getdate(), NULL, NULL, N'钃濊壊 skin-blue銆佺豢鑹� skin-green銆佺传鑹� skin-purple銆佺孩鑹� skin-red銆侀粍鑹� skin-yellow')
+INSERT sys_config VALUES (1, N'000000', N'涓绘鏋堕〉-榛樿鐨偆鏍峰紡鍚嶇О', N'sys.index.skinName', N'skin-blue', N'Y', 103, 1, getdate(), NULL, NULL, N'钃濊壊 skin-blue銆佺豢鑹� skin-green銆佺传鑹� skin-purple銆佺孩鑹� skin-red銆侀粍鑹� skin-yellow')
 GO
-INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', N'sys.user.initPassword', N'123456', N'Y', 103, 1, getdate(), NULL, NULL, N'鍒濆鍖栧瘑鐮� 123456')
+INSERT sys_config VALUES (2, N'000000', N'鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', N'sys.user.initPassword', N'123456', N'Y', 103, 1, getdate(), NULL, NULL, N'鍒濆鍖栧瘑鐮� 123456')
 GO
-INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (3, N'涓绘鏋堕〉-渚ц竟鏍忎富棰�', N'sys.index.sideTheme', N'theme-dark', N'Y', 103, 1, getdate(), NULL, NULL, N'娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light')
+INSERT sys_config VALUES (3, N'000000', N'涓绘鏋堕〉-渚ц竟鏍忎富棰�', N'sys.index.sideTheme', N'theme-dark', N'Y', 103, 1, getdate(), NULL, NULL, N'娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light')
 GO
-INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (4, N'璐﹀彿鑷姪-楠岃瘉鐮佸紑鍏�', N'sys.account.captchaEnabled', N'true', N'Y', 103, 1, getdate(), NULL, NULL, N'鏄惁寮�鍚獙璇佺爜鍔熻兘锛坱rue寮�鍚紝false鍏抽棴锛�')
+INSERT sys_config VALUES (5, N'000000', N'璐﹀彿鑷姪-鏄惁寮�鍚敤鎴锋敞鍐屽姛鑳�', N'sys.account.registerUser', N'false', N'Y', 103, 1, getdate(), NULL, NULL, N'鏄惁寮�鍚敞鍐岀敤鎴峰姛鑳斤紙true寮�鍚紝false鍏抽棴锛�')
 GO
-INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (5, N'璐﹀彿鑷姪-鏄惁寮�鍚敤鎴锋敞鍐屽姛鑳�', N'sys.account.registerUser', N'false', N'Y', 103, 1, getdate(), NULL, NULL, N'鏄惁寮�鍚敞鍐岀敤鎴峰姛鑳斤紙true寮�鍚紝false鍏抽棴锛�')
-GO
-INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (11, N'OSS棰勮鍒楄〃璧勬簮寮�鍏�', N'sys.oss.previewListResource', N'true', N'Y', 103, 1, getdate(), NULL, NULL, N'true:寮�鍚�, false:鍏抽棴');
+INSERT sys_config VALUES (11, N'000000', N'OSS棰勮鍒楄〃璧勬簮寮�鍏�', N'sys.oss.previewListResource', N'true', N'Y', 103, 1, getdate(), NULL, NULL, N'true:寮�鍚�, false:鍏抽棴');
 GO
 
-CREATE TABLE [sys_dept]
+CREATE TABLE sys_dept
 (
-    [dept_id]     bigint                     NOT NULL,
-    [parent_id]   bigint       DEFAULT ((0)) NULL,
-    [ancestors]   nvarchar(500)DEFAULT ''    NULL,
-    [dept_name]   nvarchar(30) DEFAULT ''    NULL,
-    [order_num]   int          DEFAULT ((0)) NULL,
-    [leader]      nvarchar(20)               NULL,
-    [phone]       nvarchar(11)               NULL,
-    [email]       nvarchar(50)               NULL,
-    [status]      nchar(1)     DEFAULT ('0') NULL,
-    [del_flag]    nchar(1)     DEFAULT ('0') NULL,
-    [create_dept] bigint                     NULL,
-    [create_by]   bigint                     NULL,
-    [create_time] datetime2(7)               NULL,
-    [update_by]   bigint                     NULL,
-    [update_time] datetime2(7)               NULL,
-    CONSTRAINT [PK__sys_dept__DCA659747DE13804] PRIMARY KEY CLUSTERED ([dept_id])
+    dept_id     bigint                     NOT NULL,
+    tenant_id   nvarchar(20) DEFAULT ('000000') NULL,
+    parent_id   bigint       DEFAULT ((0)) NULL,
+    ancestors   nvarchar(500)DEFAULT ''    NULL,
+    dept_name   nvarchar(30)               NULL,
+    dept_category nvarchar(100) DEFAULT '' NULL,
+    order_num   int          DEFAULT ((0)) NULL,
+    leader      bigint                     NULL,
+    phone       nvarchar(11)               NULL,
+    email       nvarchar(50)               NULL,
+    status      nchar(1)     DEFAULT ('0') NULL,
+    del_flag    nchar(1)     DEFAULT ('0') NULL,
+    create_dept bigint                     NULL,
+    create_by   bigint                     NULL,
+    create_time datetime2(7)               NULL,
+    update_by   bigint                     NULL,
+    update_time datetime2(7)               NULL,
+    CONSTRAINT PK__sys_dept__DCA659747DE13804 PRIMARY KEY CLUSTERED (dept_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -471,6 +955,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dept',
     'COLUMN', N'dept_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_dept',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鐖堕儴闂╥d' ,
@@ -489,6 +979,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dept',
     'COLUMN', N'dept_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬绫诲埆缂栫爜' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_dept',
+    'COLUMN', N'dept_category'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鏄剧ず椤哄簭' ,
@@ -521,7 +1017,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dept',
     'COLUMN', N'del_flag'
@@ -562,45 +1058,45 @@
     'TABLE', N'sys_dept'
 GO
 
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (100, 0, N'0', N'鑻ヤ緷绉戞妧', 0, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (100, N'000000', 0, N'0', N'XXX绉戞妧', NULL, 0, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (101, 100, N'0,100', N'娣卞湷鎬诲叕鍙�', 1, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (101, N'000000', 100, N'0,100', N'娣卞湷鎬诲叕鍙�', NULL, 1, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (102, 100, N'0,100', N'闀挎矙鍒嗗叕鍙�', 2, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (102, N'000000', 100, N'0,100', N'闀挎矙鍒嗗叕鍙�', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (103, 101, N'0,100,101', N'鐮斿彂閮ㄩ棬', 1, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (103, N'000000', 101, N'0,100,101', N'鐮斿彂閮ㄩ棬', NULL, 1, 1, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (104, 101, N'0,100,101', N'甯傚満閮ㄩ棬', 2, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (104, N'000000', 101, N'0,100,101', N'甯傚満閮ㄩ棬', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (105, 101, N'0,100,101', N'娴嬭瘯閮ㄩ棬', 3, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (105, N'000000', 101, N'0,100,101', N'娴嬭瘯閮ㄩ棬', NULL, 3, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (106, 101, N'0,100,101', N'璐㈠姟閮ㄩ棬', 4, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (106, N'000000', 101, N'0,100,101', N'璐㈠姟閮ㄩ棬', NULL, 4, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (107, 101, N'0,100,101', N'杩愮淮閮ㄩ棬', 5, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (107, N'000000', 101, N'0,100,101', N'杩愮淮閮ㄩ棬', NULL, 5, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (108, 102, N'0,100,102', N'甯傚満閮ㄩ棬', 1, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (108, N'000000', 102, N'0,100,102', N'甯傚満閮ㄩ棬', NULL, 1, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
-INSERT [sys_dept] ([dept_id], [parent_id], [ancestors], [dept_name], [order_num], [leader], [phone], [email], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time]) VALUES (109, 102, N'0,100,102', N'璐㈠姟閮ㄩ棬', 2, N'鑻ヤ緷', N'15888888888', N'ry@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
+INSERT sys_dept VALUES (109, N'000000', 102, N'0,100,102', N'璐㈠姟閮ㄩ棬', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL)
 GO
 
-CREATE TABLE [sys_dict_data]
+CREATE TABLE sys_dict_data
 (
-    [dict_code]   bigint                      NOT NULL,
-    [dict_sort]   int           DEFAULT ((0)) NULL,
-    [dict_label]  nvarchar(100) DEFAULT ''    NULL,
-    [dict_value]  nvarchar(100) DEFAULT ''    NULL,
-    [dict_type]   nvarchar(100) DEFAULT ''    NULL,
-    [css_class]   nvarchar(100)               NULL,
-    [list_class]  nvarchar(100)               NULL,
-    [is_default]  nchar(1)      DEFAULT ('N') NULL,
-    [status]      nchar(1)      DEFAULT ('0') NULL,
-    [create_dept] bigint                      NULL,
-    [create_by]   bigint                      NULL,
-    [create_time] datetime2(7)                NULL,
-    [update_by]   bigint                      NULL,
-    [update_time] datetime2(7)                NULL,
-    [remark]      nvarchar(500)               NULL,
-    CONSTRAINT [PK__sys_dict__19CBC34B661AF3B3] PRIMARY KEY CLUSTERED ([dict_code])
+    dict_code   bigint                      NOT NULL,
+    tenant_id   nvarchar(20)  DEFAULT ('000000') NULL,
+    dict_sort   int           DEFAULT ((0)) NULL,
+    dict_label  nvarchar(100) DEFAULT ''    NULL,
+    dict_value  nvarchar(100) DEFAULT ''    NULL,
+    dict_type   nvarchar(100) DEFAULT ''    NULL,
+    css_class   nvarchar(100)               NULL,
+    list_class  nvarchar(100)               NULL,
+    is_default  nchar(1)      DEFAULT ('N') NULL,
+    create_dept bigint                      NULL,
+    create_by   bigint                      NULL,
+    create_time datetime2(7)                NULL,
+    update_by   bigint                      NULL,
+    update_time datetime2(7)                NULL,
+    remark      nvarchar(500)               NULL,
+    CONSTRAINT PK__sys_dict__19CBC34B661AF3B3 PRIMARY KEY CLUSTERED (dict_code)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -612,6 +1108,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dict_data',
     'COLUMN', N'dict_code'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'瀛楀吀缂栫爜' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_dict_data',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'瀛楀吀鎺掑簭' ,
@@ -656,12 +1158,6 @@
     'COLUMN', N'is_default'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鐘舵�侊紙0姝e父 1鍋滅敤锛�' ,
-    'SCHEMA', N'dbo',
-    'TABLE', N'sys_dict_data',
-    'COLUMN', N'status'
-GO
-EXEC sys.sp_addextendedproperty
     'MS_Description', N'鍒涘缓閮ㄩ棬' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dict_data',
@@ -703,82 +1199,103 @@
     'TABLE', N'sys_dict_data'
 GO
 
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, 1, N'鐢�', N'0', N'sys_user_sex', N'', N'', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'鎬у埆鐢�')
+INSERT sys_dict_data VALUES (1, N'000000', 1, N'鐢�', N'0', N'sys_user_sex', N'', N'', N'Y', 103, 1, getdate(), NULL, NULL, N'鎬у埆鐢�')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, 2, N'濂�', N'1', N'sys_user_sex', N'', N'', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鎬у埆濂�')
+INSERT sys_dict_data VALUES (2, N'000000', 2, N'濂�', N'1', N'sys_user_sex', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'鎬у埆濂�')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (3, 3, N'鏈煡', N'2', N'sys_user_sex', N'', N'', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鎬у埆鏈煡')
+INSERT sys_dict_data VALUES (3, N'000000', 3, N'鏈煡', N'2', N'sys_user_sex', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'鎬у埆鏈煡')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (4, 1, N'鏄剧ず', N'0', N'sys_show_hide', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'鏄剧ず鑿滃崟')
+INSERT sys_dict_data VALUES (4, N'000000', 1, N'鏄剧ず', N'0', N'sys_show_hide', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'鏄剧ず鑿滃崟')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (5, 2, N'闅愯棌', N'1', N'sys_show_hide', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'闅愯棌鑿滃崟')
+INSERT sys_dict_data VALUES (5, N'000000', 2, N'闅愯棌', N'1', N'sys_show_hide', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'闅愯棌鑿滃崟')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (6, 1, N'姝e父', N'0', N'sys_normal_disable', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (6, N'000000', 1, N'姝e父', N'0', N'sys_normal_disable', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (7, 2, N'鍋滅敤', N'1', N'sys_normal_disable', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
+INSERT sys_dict_data VALUES (7, N'000000', 2, N'鍋滅敤', N'1', N'sys_normal_disable', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (8, 1, N'姝e父', N'0', N'sys_job_status', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (8, N'000000', 1, N'姝e父', N'0', N'sys_job_status', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (9, 2, N'鏆傚仠', N'1', N'sys_job_status', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
+INSERT sys_dict_data VALUES (9, N'000000', 2, N'鏆傚仠', N'1', N'sys_job_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (10, 1, N'榛樿', N'DEFAULT', N'sys_job_group', N'', N'', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'榛樿鍒嗙粍')
+INSERT sys_dict_data VALUES (10, N'000000', 1, N'榛樿', N'DEFAULT', N'sys_job_group', N'', N'', N'Y', 103, 1, getdate(), NULL, NULL, N'榛樿鍒嗙粍')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (11, 2, N'绯荤粺', N'SYSTEM', N'sys_job_group', N'', N'', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺鍒嗙粍')
+INSERT sys_dict_data VALUES (11, N'000000', 2, N'绯荤粺', N'SYSTEM', N'sys_job_group', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'绯荤粺鍒嗙粍')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (12, 1, N'鏄�', N'Y', N'sys_yes_no', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鏄�')
+INSERT sys_dict_data VALUES (12, N'000000', 1, N'鏄�', N'Y', N'sys_yes_no', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鏄�')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (13, 2, N'鍚�', N'N', N'sys_yes_no', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鍚�')
+INSERT sys_dict_data VALUES (13, N'000000', 2, N'鍚�', N'N', N'sys_yes_no', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'绯荤粺榛樿鍚�')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (14, 1, N'閫氱煡', N'1', N'sys_notice_type', N'', N'warning', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'閫氱煡')
+INSERT sys_dict_data VALUES (14, N'000000', 1, N'閫氱煡', N'1', N'sys_notice_type', N'', N'warning', N'Y', 103, 1, getdate(), NULL, NULL, N'閫氱煡')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (15, 2, N'鍏憡', N'2', N'sys_notice_type', N'', N'success', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍏憡')
+INSERT sys_dict_data VALUES (15, N'000000', 2, N'鍏憡', N'2', N'sys_notice_type', N'', N'success', N'N', 103, 1, getdate(), NULL, NULL, N'鍏憡')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (16, 1, N'姝e父', N'0', N'sys_notice_status', N'', N'primary', N'Y', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (16, N'000000', 1, N'姝e父', N'0', N'sys_notice_status', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (17, 2, N'鍏抽棴', N'1', N'sys_notice_status', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍏抽棴鐘舵��')
+INSERT sys_dict_data VALUES (17, N'000000', 2, N'鍏抽棴', N'1', N'sys_notice_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍏抽棴鐘舵��')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (29, 99, N'鍏朵粬', N'0', N'sys_oper_type', N'', N'info', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍏朵粬鎿嶄綔');
+INSERT sys_dict_data VALUES (29, N'000000', 99, N'鍏朵粬', N'0', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'鍏朵粬鎿嶄綔');
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (18, 1, N'鏂板', N'1', N'sys_oper_type', N'', N'info', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鏂板鎿嶄綔')
+INSERT sys_dict_data VALUES (18, N'000000', 1, N'鏂板', N'1', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'鏂板鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (19, 2, N'淇敼', N'2', N'sys_oper_type', N'', N'info', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'淇敼鎿嶄綔')
+INSERT sys_dict_data VALUES (19, N'000000', 2, N'淇敼', N'2', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'淇敼鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (20, 3, N'鍒犻櫎', N'3', N'sys_oper_type', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍒犻櫎鎿嶄綔')
+INSERT sys_dict_data VALUES (20, N'000000', 3, N'鍒犻櫎', N3, N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍒犻櫎鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (21, 4, N'鎺堟潈', N'4', N'sys_oper_type', N'', N'primary', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鎺堟潈鎿嶄綔')
+INSERT sys_dict_data VALUES (21, N'000000', 4, N'鎺堟潈', N'4', N'sys_oper_type', N'', N'primary', N'N', 103, 1, getdate(), NULL, NULL, N'鎺堟潈鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (22, 5, N'瀵煎嚭', N'5', N'sys_oper_type', N'', N'warning', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'瀵煎嚭鎿嶄綔')
+INSERT sys_dict_data VALUES (22, N'000000', 5, N'瀵煎嚭', N'5', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'瀵煎嚭鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (23, 6, N'瀵煎叆', N'6', N'sys_oper_type', N'', N'warning', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'瀵煎叆鎿嶄綔')
+INSERT sys_dict_data VALUES (23, N'000000', 6, N'瀵煎叆', N'6', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'瀵煎叆鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (24, 7, N'寮洪��', N'7', N'sys_oper_type', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'寮洪��鎿嶄綔')
+INSERT sys_dict_data VALUES (24, N'000000', 7, N'寮洪��', N'7', N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'寮洪��鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (25, 8, N'鐢熸垚浠g爜', N'8', N'sys_oper_type', N'', N'warning', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鐢熸垚鎿嶄綔')
+INSERT sys_dict_data VALUES (25, N'000000', 8, N'鐢熸垚浠g爜', N'8', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'鐢熸垚鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (26, 9, N'娓呯┖鏁版嵁', N'9', N'sys_oper_type', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'娓呯┖鎿嶄綔')
+INSERT sys_dict_data VALUES (26, N'000000', 9, N'娓呯┖鏁版嵁', N'9', N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'娓呯┖鎿嶄綔')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (27, 1, N'鎴愬姛', N'0', N'sys_common_status', N'', N'primary', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
+INSERT sys_dict_data VALUES (27, N'000000', 1, N'鎴愬姛', N'0', N'sys_common_status', N'', N'primary', N'N', 103, 1, getdate(), NULL, NULL, N'姝e父鐘舵��')
 GO
-INSERT [sys_dict_data] ([dict_code], [dict_sort], [dict_label], [dict_value], [dict_type], [css_class], [list_class], [is_default], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (28, 2, N'澶辫触', N'1', N'sys_common_status', N'', N'danger', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
+INSERT sys_dict_data VALUES (28, N'000000', 2, N'澶辫触', N'1', N'sys_common_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'鍋滅敤鐘舵��')
+GO
+INSERT sys_dict_data VALUES (30, N'000000', 0, N'瀵嗙爜璁よ瘉', N'password', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'瀵嗙爜璁よ瘉')
+GO
+INSERT sys_dict_data VALUES (31, N'000000', 0, N'鐭俊璁よ瘉', N'sms', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'鐭俊璁よ瘉')
+GO
+INSERT sys_dict_data VALUES (32, N'000000', 0, N'閭欢璁よ瘉', N'email', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'閭欢璁よ瘉')
+GO
+INSERT sys_dict_data VALUES (33, N'000000', 0, N'灏忕▼搴忚璇�', N'xcx', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'灏忕▼搴忚璇�')
+GO
+INSERT sys_dict_data VALUES (34, N'000000', 0, N'涓夋柟鐧诲綍璁よ瘉', N'`social`', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'涓夋柟鐧诲綍璁よ瘉')
+GO
+INSERT sys_dict_data VALUES (35, N'000000', 0, N'PC', N'`pc`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'PC')
+GO
+INSERT sys_dict_data VALUES (36, N'000000', 0, N'瀹夊崜', N'`android`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'瀹夊崜')
+GO
+INSERT sys_dict_data VALUES (37, N'000000', 0, N'iOS', N'`ios`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'iOS')
+GO
+INSERT sys_dict_data VALUES (38, N'000000', 0, N'灏忕▼搴�', N'`xcx`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'灏忕▼搴�')
 GO
 
-CREATE TABLE [sys_dict_type]
+CREATE TABLE sys_dict_type
 (
-    [dict_id]     bigint                      NOT NULL,
-    [dict_name]   nvarchar(100) DEFAULT ''    NULL,
-    [dict_type]   nvarchar(100) DEFAULT ''    NULL,
-    [status]      nchar(1)      DEFAULT ('0') NULL,
-    [create_dept] bigint                      NULL,
-    [create_by]   bigint                      NULL,
-    [create_time] datetime2(7)                NULL,
-    [update_by]   bigint                      NULL,
-    [update_time] datetime2(7)                NULL,
-    [remark]      nvarchar(500)               NULL,
-    CONSTRAINT [PK__sys_dict__3BD4186C409C5391] PRIMARY KEY CLUSTERED ([dict_id])
+    dict_id     bigint                      NOT NULL,
+    tenant_id   nvarchar(20)  DEFAULT ('000000') NULL,
+    dict_name   nvarchar(100) DEFAULT ''    NULL,
+    dict_type   nvarchar(100) DEFAULT ''    NULL,
+    create_dept bigint                      NULL,
+    create_by   bigint                      NULL,
+    create_time datetime2(7)                NULL,
+    update_by   bigint                      NULL,
+    update_time datetime2(7)                NULL,
+    remark      nvarchar(500)               NULL,
+    CONSTRAINT PK__sys_dict__3BD4186C409C5391 PRIMARY KEY CLUSTERED (dict_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
 ON [PRIMARY]
+GO
+
+CREATE NONCLUSTERED INDEX sys_dict_type_index1 ON sys_dict_type (tenant_id, dict_type)
 GO
 
 EXEC sys.sp_addextendedproperty
@@ -786,6 +1303,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dict_type',
     'COLUMN', N'dict_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'瀛楀吀涓婚敭' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_dict_type',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'瀛楀吀鍚嶇О' ,
@@ -798,12 +1321,6 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dict_type',
     'COLUMN', N'dict_type'
-GO
-EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鐘舵�侊紙0姝e父 1鍋滅敤锛�' ,
-    'SCHEMA', N'dbo',
-    'TABLE', N'sys_dict_type',
-    'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鍒涘缓閮ㄩ棬' ,
@@ -847,43 +1364,55 @@
     'TABLE', N'sys_dict_type'
 GO
 
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'鐢ㄦ埛鎬у埆', N'sys_user_sex', N'0', 103, 1, getdate(), NULL, NULL, N'鐢ㄦ埛鎬у埆鍒楄〃')
+INSERT sys_dict_type VALUES (1, N'000000', N'鐢ㄦ埛鎬у埆', N'sys_user_sex', 103, 1, getdate(), NULL, NULL, N'鐢ㄦ埛鎬у埆鍒楄〃')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'鑿滃崟鐘舵��', N'sys_show_hide', N'0', 103, 1, getdate(), NULL, NULL, N'鑿滃崟鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (2, N'000000', N'鑿滃崟鐘舵��', N'sys_show_hide', 103, 1, getdate(), NULL, NULL, N'鑿滃崟鐘舵�佸垪琛�')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (3, N'绯荤粺寮�鍏�', N'sys_normal_disable', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺寮�鍏冲垪琛�')
+INSERT sys_dict_type VALUES (3, N'000000', N'绯荤粺寮�鍏�', N'sys_normal_disable', 103, 1, getdate(), NULL, NULL, N'绯荤粺寮�鍏冲垪琛�')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (4, N'浠诲姟鐘舵��', N'sys_job_status', N'0', 103, 1, getdate(), NULL, NULL, N'浠诲姟鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (4, N'000000', N'浠诲姟鐘舵��', N'sys_job_status', 103, 1, getdate(), NULL, NULL, N'浠诲姟鐘舵�佸垪琛�')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (5, N'浠诲姟鍒嗙粍', N'sys_job_group', N'0', 103, 1, getdate(), NULL, NULL, N'浠诲姟鍒嗙粍鍒楄〃')
+INSERT sys_dict_type VALUES (5, N'000000', N'浠诲姟鍒嗙粍', N'sys_job_group', 103, 1, getdate(), NULL, NULL, N'浠诲姟鍒嗙粍鍒楄〃')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (6, N'绯荤粺鏄惁', N'sys_yes_no', N'0', 103, 1, getdate(), NULL, NULL, N'绯荤粺鏄惁鍒楄〃')
+INSERT sys_dict_type VALUES (6, N'000000', N'绯荤粺鏄惁', N'sys_yes_no', 103, 1, getdate(), NULL, NULL, N'绯荤粺鏄惁鍒楄〃')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (7, N'閫氱煡绫诲瀷', N'sys_notice_type', N'0', 103, 1, getdate(), NULL, NULL, N'閫氱煡绫诲瀷鍒楄〃')
+INSERT sys_dict_type VALUES (7, N'000000', N'閫氱煡绫诲瀷', N'sys_notice_type', 103, 1, getdate(), NULL, NULL, N'閫氱煡绫诲瀷鍒楄〃')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (8, N'閫氱煡鐘舵��', N'sys_notice_status', N'0', 103, 1, getdate(), NULL, NULL, N'閫氱煡鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (8, N'000000', N'閫氱煡鐘舵��', N'sys_notice_status', 103, 1, getdate(), NULL, NULL, N'閫氱煡鐘舵�佸垪琛�')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (9, N'鎿嶄綔绫诲瀷', N'sys_oper_type', N'0', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔绫诲瀷鍒楄〃')
+INSERT sys_dict_type VALUES (9, N'000000', N'鎿嶄綔绫诲瀷', N'sys_oper_type', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔绫诲瀷鍒楄〃')
 GO
-INSERT [sys_dict_type] ([dict_id], [dict_name], [dict_type], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (10, N'绯荤粺鐘舵��', N'sys_common_status', N'0', 103, 1, getdate(), NULL, NULL, N'鐧诲綍鐘舵�佸垪琛�')
+INSERT sys_dict_type VALUES (10, N'000000', N'绯荤粺鐘舵��', N'sys_common_status', 103, 1, getdate(), NULL, NULL, N'鐧诲綍鐘舵�佸垪琛�')
+GO
+INSERT sys_dict_type VALUES (11, N'000000', N'鎺堟潈绫诲瀷', N'sys_grant_type', 103, 1, getdate(), NULL, NULL, N'璁よ瘉鎺堟潈绫诲瀷')
+GO
+INSERT sys_dict_type VALUES (12, N'000000', N'璁惧绫诲瀷', N'sys_device_type', 103, 1, getdate(), NULL, NULL, N'瀹㈡埛绔澶囩被鍨�')
 GO
 
-CREATE TABLE [sys_logininfor]
+CREATE TABLE sys_logininfor
 (
-    [info_id]        bigint                      NOT NULL,
-    [user_name]      nvarchar(50)  DEFAULT ''    NULL,
-    [ipaddr]         nvarchar(128) DEFAULT ''    NULL,
-    [login_location] nvarchar(255) DEFAULT ''    NULL,
-    [browser]        nvarchar(50)  DEFAULT ''    NULL,
-    [os]             nvarchar(50)  DEFAULT ''    NULL,
-    [status]         nchar(1)      DEFAULT ('0') NULL,
-    [msg]            nvarchar(255) DEFAULT ''    NULL,
-    [login_time]     datetime2(7)                NULL,
-    CONSTRAINT [PK__sys_logi__3D8A9C1A1854AE10] PRIMARY KEY CLUSTERED ([info_id])
+    info_id        bigint                      NOT NULL,
+    tenant_id      nvarchar(20)  DEFAULT ('000000') NULL,
+    user_name      nvarchar(50)  DEFAULT ''    NULL,
+    client_key     nvarchar(32)  DEFAULT ''    NULL,
+    device_type    nvarchar(32)  DEFAULT ''    NULL,
+    ipaddr         nvarchar(128) DEFAULT ''    NULL,
+    login_location nvarchar(255) DEFAULT ''    NULL,
+    browser        nvarchar(50)  DEFAULT ''    NULL,
+    os             nvarchar(50)  DEFAULT ''    NULL,
+    status         nchar(1)      DEFAULT ('0') NULL,
+    msg            nvarchar(255) DEFAULT ''    NULL,
+    login_time     datetime2(7)                NULL,
+    CONSTRAINT PK__sys_logi__3D8A9C1A1854AE10 PRIMARY KEY CLUSTERED (info_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
 ON [PRIMARY]
+GO
+
+CREATE NONCLUSTERED INDEX idx_sys_logininfor_s ON sys_logininfor (status)
+GO
+CREATE NONCLUSTERED INDEX idx_sys_logininfor_lt ON sys_logininfor (login_time)
 GO
 
 EXEC sys.sp_addextendedproperty
@@ -893,10 +1422,28 @@
     'COLUMN', N'info_id'
 GO
 EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_logininfor',
+    'COLUMN', N'tenant_id'
+GO
+EXEC sys.sp_addextendedproperty
     'MS_Description', N'鐢ㄦ埛璐﹀彿' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_logininfor',
     'COLUMN', N'user_name'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'瀹㈡埛绔�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_logininfor',
+    'COLUMN', N'client_key'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'璁惧绫诲瀷' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_logininfor',
+    'COLUMN', N'device_type'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鐧诲綍IP鍦板潃' ,
@@ -946,29 +1493,29 @@
     'TABLE', N'sys_logininfor'
 GO
 
-CREATE TABLE [sys_menu]
+CREATE TABLE sys_menu
 (
-    [menu_id]     bigint                      NOT NULL,
-    [menu_name]   nvarchar(50)                NOT NULL,
-    [parent_id]   bigint        DEFAULT ((0)) NULL,
-    [order_num]   int           DEFAULT ((0)) NULL,
-    [path]        nvarchar(200) DEFAULT ''    NULL,
-    [component]   nvarchar(255)               NULL,
-    [query_param] nvarchar(255)               NULL,
-    [is_frame]    int           DEFAULT ((1)) NULL,
-    [is_cache]    int           DEFAULT ((0)) NULL,
-    [menu_type]   nchar(1)      DEFAULT ''    NULL,
-    [visible]     nchar(1)      DEFAULT ((0)) NULL,
-    [status]      nchar(1)      DEFAULT ((0)) NULL,
-    [perms]       nvarchar(100)               NULL,
-    [icon]        nvarchar(100) DEFAULT ('#') NULL,
-    [create_dept] bigint                      NULL,
-    [create_by]   bigint                      NULL,
-    [create_time] datetime2(7)                NULL,
-    [update_by]   bigint                      NULL,
-    [update_time] datetime2(7)                NULL,
-    [remark]      nvarchar(500) DEFAULT ''    NULL,
-    CONSTRAINT [PK__sys_menu__4CA0FADCF8545C58] PRIMARY KEY CLUSTERED ([menu_id])
+    menu_id     bigint                      NOT NULL,
+    menu_name   nvarchar(50)                NOT NULL,
+    parent_id   bigint        DEFAULT ((0)) NULL,
+    order_num   int           DEFAULT ((0)) NULL,
+    path        nvarchar(200) DEFAULT ''    NULL,
+    component   nvarchar(255)               NULL,
+    query_param nvarchar(255)               NULL,
+    is_frame    int           DEFAULT ((1)) NULL,
+    is_cache    int           DEFAULT ((0)) NULL,
+    menu_type   nchar(1)      DEFAULT ''    NULL,
+    visible     nchar(1)      DEFAULT ((0)) NULL,
+    status      nchar(1)      DEFAULT ((0)) NULL,
+    perms       nvarchar(100)               NULL,
+    icon        nvarchar(100) DEFAULT ('#') NULL,
+    create_dept bigint                      NULL,
+    create_by   bigint                      NULL,
+    create_time datetime2(7)                NULL,
+    update_by   bigint                      NULL,
+    update_time datetime2(7)                NULL,
+    remark      nvarchar(500) DEFAULT ''    NULL,
+    CONSTRAINT PK__sys_menu__4CA0FADCF8545C58 PRIMARY KEY CLUSTERED (menu_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -1101,188 +1648,260 @@
     'TABLE', N'sys_menu'
 GO
 
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'绯荤粺绠$悊', 0, 1, N'system', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'system', 103, 1, getdate(), NULL, NULL, N'绯荤粺绠$悊鐩綍')
+INSERT sys_menu VALUES (1, N'绯荤粺绠$悊', 0, 1, N'system', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'system', 103, 1, getdate(), NULL, NULL, N'绯荤粺绠$悊鐩綍')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'绯荤粺鐩戞帶', 0, 2, N'monitor', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'monitor', 103, 1, getdate(), NULL, NULL, N'绯荤粺鐩戞帶鐩綍')
+INSERT sys_menu VALUES (6, N'绉熸埛绠$悊', 0, 2, N'tenant', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'chart', 103, 1, getdate(), NULL, NULL, N'绉熸埛绠$悊鐩綍')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (3, N'绯荤粺宸ュ叿', 0, 3, N'tool', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'tool', 103, 1, getdate(), NULL, NULL, N'绯荤粺宸ュ叿鐩綍')
+INSERT sys_menu VALUES (2, N'绯荤粺鐩戞帶', 0, 3, N'monitor', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'monitor', 103, 1, getdate(), NULL, NULL, N'绯荤粺鐩戞帶鐩綍')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (100, N'鐢ㄦ埛绠$悊', 1, 1, N'user', N'system/user/index', N'', 1, 0, N'C', N'0', N'0', N'system:user:list', N'user', 103, 1, getdate(), NULL, NULL, N'鐢ㄦ埛绠$悊鑿滃崟')
+INSERT sys_menu VALUES (3, N'绯荤粺宸ュ叿', 0, 4, N'tool', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'tool', 103, 1, getdate(), NULL, NULL, N'绯荤粺宸ュ叿鐩綍')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (101, N'瑙掕壊绠$悊', 1, 2, N'role', N'system/role/index', N'', 1, 0, N'C', N'0', N'0', N'system:role:list', N'peoples', 103, 1, getdate(), NULL, NULL, N'瑙掕壊绠$悊鑿滃崟')
+INSERT sys_menu VALUES (4, N'PLUS瀹樼綉', 0, 5, N'https://gitee.com/dromara/RuoYi-Vue-Plus', null, N'', 0, 0, N'M', N'0', N'0', N'', N'guide', 103, 1, getdate(), null, null, N'RuoYi-Vue-Plus瀹樼綉鍦板潃');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (102, N'鑿滃崟绠$悊', 1, 3, N'menu', N'system/menu/index', N'', 1, 0, N'C', N'0', N'0', N'system:menu:list', N'tree-table', 103, 1, getdate(), NULL, NULL, N'鑿滃崟绠$悊鑿滃崟')
+INSERT sys_menu VALUES (5, N'娴嬭瘯鑿滃崟', 0, 5, N'demo', NULL, N'', 1, 0, N'M', N'0', N'0', NULL, N'star', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (103, N'閮ㄩ棬绠$悊', 1, 4, N'dept', N'system/dept/index', N'', 1, 0, N'C', N'0', N'0', N'system:dept:list', N'tree', 103, 1, getdate(), NULL, NULL, N'閮ㄩ棬绠$悊鑿滃崟')
+INSERT sys_menu VALUES (100, N'鐢ㄦ埛绠$悊', 1, 1, N'user', N'system/user/index', N'', 1, 0, N'C', N'0', N'0', N'system:user:list', N'user', 103, 1, getdate(), NULL, NULL, N'鐢ㄦ埛绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (104, N'宀椾綅绠$悊', 1, 5, N'post', N'system/post/index', N'', 1, 0, N'C', N'0', N'0', N'system:post:list', N'post', 103, 1, getdate(), NULL, NULL, N'宀椾綅绠$悊鑿滃崟')
+INSERT sys_menu VALUES (101, N'瑙掕壊绠$悊', 1, 2, N'role', N'system/role/index', N'', 1, 0, N'C', N'0', N'0', N'system:role:list', N'peoples', 103, 1, getdate(), NULL, NULL, N'瑙掕壊绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (105, N'瀛楀吀绠$悊', 1, 6, N'dict', N'system/dict/index', N'', 1, 0, N'C', N'0', N'0', N'system:dict:list', N'dict', 103, 1, getdate(), NULL, NULL, N'瀛楀吀绠$悊鑿滃崟')
+INSERT sys_menu VALUES (102, N'鑿滃崟绠$悊', 1, 3, N'menu', N'system/menu/index', N'', 1, 0, N'C', N'0', N'0', N'system:menu:list', N'tree-table', 103, 1, getdate(), NULL, NULL, N'鑿滃崟绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (106, N'鍙傛暟璁剧疆', 1, 7, N'config', N'system/config/index', N'', 1, 0, N'C', N'0', N'0', N'system:config:list', N'edit', 103, 1, getdate(), NULL, NULL, N'鍙傛暟璁剧疆鑿滃崟')
+INSERT sys_menu VALUES (103, N'閮ㄩ棬绠$悊', 1, 4, N'dept', N'system/dept/index', N'', 1, 0, N'C', N'0', N'0', N'system:dept:list', N'tree', 103, 1, getdate(), NULL, NULL, N'閮ㄩ棬绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (107, N'閫氱煡鍏憡', 1, 8, N'notice', N'system/notice/index', N'', 1, 0, N'C', N'0', N'0', N'system:notice:list', N'message', 103, 1, getdate(), NULL, NULL, N'閫氱煡鍏憡鑿滃崟')
+INSERT sys_menu VALUES (104, N'宀椾綅绠$悊', 1, 5, N'post', N'system/post/index', N'', 1, 0, N'C', N'0', N'0', N'system:post:list', N'post', 103, 1, getdate(), NULL, NULL, N'宀椾綅绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (108, N'鏃ュ織绠$悊', 1, 9, N'log', N'', N'', 1, 0, N'M', N'0', N'0', N'', N'log', 103, 1, getdate(), NULL, NULL, N'鏃ュ織绠$悊鑿滃崟')
+INSERT sys_menu VALUES (105, N'瀛楀吀绠$悊', 1, 6, N'dict', N'system/dict/index', N'', 1, 0, N'C', N'0', N'0', N'system:dict:list', N'dict', 103, 1, getdate(), NULL, NULL, N'瀛楀吀绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (109, N'鍦ㄧ嚎鐢ㄦ埛', 2, 1, N'online', N'monitor/online/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:online:list', N'online', 103, 1, getdate(), NULL, NULL, N'鍦ㄧ嚎鐢ㄦ埛鑿滃崟')
+INSERT sys_menu VALUES (106, N'鍙傛暟璁剧疆', 1, 7, N'config', N'system/config/index', N'', 1, 0, N'C', N'0', N'0', N'system:config:list', N'edit', 103, 1, getdate(), NULL, NULL, N'鍙傛暟璁剧疆鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (112, N'缂撳瓨鍒楄〃', 2, 6, N'cacheList', N'monitor/cache/list', N'', 1, 0, N'C', N'0', N'0', N'monitor:cache:list', N'redis-list', 103, 1, getdate(), NULL, NULL, N'缂撳瓨鍒楄〃鑿滃崟')
+INSERT sys_menu VALUES (107, N'閫氱煡鍏憡', 1, 8, N'notice', N'system/notice/index', N'', 1, 0, N'C', N'0', N'0', N'system:notice:list', N'message', 103, 1, getdate(), NULL, NULL, N'閫氱煡鍏憡鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (113, N'缂撳瓨鐩戞帶', 2, 5, N'cache', N'monitor/cache/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:cache:list', N'redis', 103, 1, getdate(), NULL, NULL, N'缂撳瓨鐩戞帶鑿滃崟')
+INSERT sys_menu VALUES (108, N'鏃ュ織绠$悊', 1, 9, N'log', N'', N'', 1, 0, N'M', N'0', N'0', N'', N'log', 103, 1, getdate(), NULL, NULL, N'鏃ュ織绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (114, N'琛ㄥ崟鏋勫缓', 3, 1, N'build', N'tool/build/index', N'', 1, 0, N'C', N'0', N'0', N'tool:build:list', N'build', 103, 1, getdate(), NULL, NULL, N'琛ㄥ崟鏋勫缓鑿滃崟')
+INSERT sys_menu VALUES (109, N'鍦ㄧ嚎鐢ㄦ埛', 2, 1, N'online', N'monitor/online/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:online:list', N'online', 103, 1, getdate(), NULL, NULL, N'鍦ㄧ嚎鐢ㄦ埛鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (115, N'浠g爜鐢熸垚', 3, 2, N'gen', N'tool/gen/index', N'', 1, 0, N'C', N'0', N'0', N'tool:gen:list', N'code', 103, 1, getdate(), NULL, NULL, N'浠g爜鐢熸垚鑿滃崟')
+INSERT sys_menu VALUES (113, N'缂撳瓨鐩戞帶', 2, 5, N'cache', N'monitor/cache/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:cache:list', N'redis', 103, 1, getdate(), NULL, NULL, N'缂撳瓨鐩戞帶鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (117, N'Admin鐩戞帶', 2, 5, N'Admin', N'monitor/admin/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:admin:list', N'dashboard', 103, 1, getdate(), NULL, NULL, N'Admin鐩戞帶鑿滃崟');
+INSERT sys_menu VALUES (115, N'浠g爜鐢熸垚', 3, 2, N'gen', N'tool/gen/index', N'', 1, 0, N'C', N'0', N'0', N'tool:gen:list', N'code', 103, 1, getdate(), NULL, NULL, N'浠g爜鐢熸垚鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (118, N'鏂囦欢绠$悊', 1, 10, N'oss', N'system/oss/index', N'', 1, 0, N'C', '0', N'0', N'system:oss:list', N'upload', 103, 1, getdate(), NULL, NULL, N'鏂囦欢绠$悊鑿滃崟');
+INSERT sys_menu VALUES (121, N'绉熸埛绠$悊', 6, 1, N'tenant', N'system/tenant/index', N'', 1, 0, N'C', N'0', N'0', N'system:tenant:list', N'code', 103, 1, getdate(), NULL, NULL, N'绉熸埛绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (120, N'浠诲姟璋冨害涓績', 2, 5, N'XxlJob', N'monitor/xxljob/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:xxljob:list', N'job', 103, 1, getdate(), NULL, NULL, N'Xxl-Job鎺у埗鍙拌彍鍗�');
+INSERT sys_menu VALUES (122, N'绉熸埛濂楅绠$悊', 6, 2, N'tenantPackage', N'system/tenantPackage/index', N'', 1, 0, N'C', N'0', N'0', N'system:tenantPackage:list', N'code', 103, 1, getdate(), NULL, NULL, N'绉熸埛濂楅绠$悊鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (500, N'鎿嶄綔鏃ュ織', 108, 1, N'operlog', N'monitor/operlog/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:operlog:list', N'form', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔鏃ュ織鑿滃崟')
+INSERT sys_menu VALUES (123, N'瀹㈡埛绔鐞�', 1, 11, N'client', N'system/client/index', N'', 1, 0, N'C', N'0', N'0', N'system:client:list', N'international', 103, 1, getdate(), NULL, NULL, N'瀹㈡埛绔鐞嗚彍鍗�')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (501, N'鐧诲綍鏃ュ織', 108, 2, N'logininfor', N'monitor/logininfor/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:logininfor:list', N'logininfor', 103, 1, getdate(), NULL, NULL, N'鐧诲綍鏃ュ織鑿滃崟')
+INSERT sys_menu VALUES (117, N'Admin鐩戞帶', 2, 5, N'Admin', N'monitor/admin/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:admin:list', N'dashboard', 103, 1, getdate(), NULL, NULL, N'Admin鐩戞帶鑿滃崟');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1001, N'鐢ㄦ埛鏌ヨ', 100, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (118, N'鏂囦欢绠$悊', 1, 10, N'oss', N'system/oss/index', N'', 1, 0, N'C', '0', N'0', N'system:oss:list', N'upload', 103, 1, getdate(), NULL, NULL, N'鏂囦欢绠$悊鑿滃崟');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1002, N'鐢ㄦ埛鏂板', 100, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (120, N'浠诲姟璋冨害涓績', 2, 5, N'snailjob', N'monitor/snailjob/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:snailjob:list', N'job', 103, 1, getdate(), NULL, NULL, N'SnailJob鎺у埗鍙拌彍鍗�');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1003, N'鐢ㄦ埛淇敼', 100, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (500, N'鎿嶄綔鏃ュ織', 108, 1, N'operlog', N'monitor/operlog/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:operlog:list', N'form', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔鏃ュ織鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1004, N'鐢ㄦ埛鍒犻櫎', 100, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (501, N'鐧诲綍鏃ュ織', 108, 2, N'logininfor', N'monitor/logininfor/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:logininfor:list', N'logininfor', 103, 1, getdate(), NULL, NULL, N'鐧诲綍鏃ュ織鑿滃崟')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1005, N'鐢ㄦ埛瀵煎嚭', 100, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1001, N'鐢ㄦ埛鏌ヨ', 100, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1006, N'鐢ㄦ埛瀵煎叆', 100, 6, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:import', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1002, N'鐢ㄦ埛鏂板', 100, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1007, N'閲嶇疆瀵嗙爜', 100, 7, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:resetPwd', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1003, N'鐢ㄦ埛淇敼', 100, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1008, N'瑙掕壊鏌ヨ', 101, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1004, N'鐢ㄦ埛鍒犻櫎', 100, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1009, N'瑙掕壊鏂板', 101, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1005, N'鐢ㄦ埛瀵煎嚭', 100, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1010, N'瑙掕壊淇敼', 101, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1006, N'鐢ㄦ埛瀵煎叆', 100, 6, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:import', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1011, N'瑙掕壊鍒犻櫎', 101, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1007, N'閲嶇疆瀵嗙爜', 100, 7, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:resetPwd', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1012, N'瑙掕壊瀵煎嚭', 101, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1008, N'瑙掕壊鏌ヨ', 101, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1013, N'鑿滃崟鏌ヨ', 102, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1009, N'瑙掕壊鏂板', 101, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1014, N'鑿滃崟鏂板', 102, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1010, N'瑙掕壊淇敼', 101, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1015, N'鑿滃崟淇敼', 102, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1011, N'瑙掕壊鍒犻櫎', 101, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+GO
+INSERT sys_menu VALUES (1012, N'瑙掕壊瀵煎嚭', 101, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+GO
+INSERT sys_menu VALUES (1013, N'鑿滃崟鏌ヨ', 102, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+GO
+INSERT sys_menu VALUES (1014, N'鑿滃崟鏂板', 102, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+GO
+INSERT sys_menu VALUES (1015, N'鑿滃崟淇敼', 102, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1016, N'鑿滃崟鍒犻櫎', 102, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1016, N'鑿滃崟鍒犻櫎', 102, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1017, N'閮ㄩ棬鏌ヨ', 103, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1017, N'閮ㄩ棬鏌ヨ', 103, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1018, N'閮ㄩ棬鏂板', 103, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1018, N'閮ㄩ棬鏂板', 103, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1019, N'閮ㄩ棬淇敼', 103, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1019, N'閮ㄩ棬淇敼', 103, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1020, N'閮ㄩ棬鍒犻櫎', 103, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1020, N'閮ㄩ棬鍒犻櫎', 103, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1021, N'宀椾綅鏌ヨ', 104, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1021, N'宀椾綅鏌ヨ', 104, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1022, N'宀椾綅鏂板', 104, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1022, N'宀椾綅鏂板', 104, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1023, N'宀椾綅淇敼', 104, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1023, N'宀椾綅淇敼', 104, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1024, N'宀椾綅鍒犻櫎', 104, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1024, N'宀椾綅鍒犻櫎', 104, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1025, N'宀椾綅瀵煎嚭', 104, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1025, N'宀椾綅瀵煎嚭', 104, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1026, N'瀛楀吀鏌ヨ', 105, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1026, N'瀛楀吀鏌ヨ', 105, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1027, N'瀛楀吀鏂板', 105, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1027, N'瀛楀吀鏂板', 105, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1028, N'瀛楀吀淇敼', 105, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1028, N'瀛楀吀淇敼', 105, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1029, N'瀛楀吀鍒犻櫎', 105, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1029, N'瀛楀吀鍒犻櫎', 105, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1030, N'瀛楀吀瀵煎嚭', 105, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1030, N'瀛楀吀瀵煎嚭', 105, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1031, N'鍙傛暟鏌ヨ', 106, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1031, N'鍙傛暟鏌ヨ', 106, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1032, N'鍙傛暟鏂板', 106, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1032, N'鍙傛暟鏂板', 106, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1033, N'鍙傛暟淇敼', 106, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1033, N'鍙傛暟淇敼', 106, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1034, N'鍙傛暟鍒犻櫎', 106, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1034, N'鍙傛暟鍒犻櫎', 106, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1035, N'鍙傛暟瀵煎嚭', 106, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1035, N'鍙傛暟瀵煎嚭', 106, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1036, N'鍏憡鏌ヨ', 107, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1036, N'鍏憡鏌ヨ', 107, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1037, N'鍏憡鏂板', 107, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1037, N'鍏憡鏂板', 107, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:add', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1038, N'鍏憡淇敼', 107, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1038, N'鍏憡淇敼', 107, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1039, N'鍏憡鍒犻櫎', 107, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1039, N'鍏憡鍒犻櫎', 107, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1040, N'鎿嶄綔鏌ヨ', 500, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1040, N'鎿嶄綔鏌ヨ', 500, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1041, N'鎿嶄綔鍒犻櫎', 500, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1041, N'鎿嶄綔鍒犻櫎', 500, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1042, N'鏃ュ織瀵煎嚭', 500, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1042, N'鏃ュ織瀵煎嚭', 500, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1043, N'鐧诲綍鏌ヨ', 501, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1043, N'鐧诲綍鏌ヨ', 501, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1044, N'鐧诲綍鍒犻櫎', 501, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1044, N'鐧诲綍鍒犻櫎', 501, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1045, N'鏃ュ織瀵煎嚭', 501, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1045, N'鏃ュ織瀵煎嚭', 501, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1050, N'璐︽埛瑙i攣', 501, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:unlock',  N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1050, N'璐︽埛瑙i攣', 501, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:unlock',  N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1046, N'鍦ㄧ嚎鏌ヨ', 109, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1046, N'鍦ㄧ嚎鏌ヨ', 109, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1047, N'鎵归噺寮洪��', 109, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:batchLogout', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1047, N'鎵归噺寮洪��', 109, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:batchLogout', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1048, N'鍗曟潯寮洪��', 109, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:forceLogout', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1048, N'鍗曟潯寮洪��', 109, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:forceLogout', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1055, N'鐢熸垚鏌ヨ', 115, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1055, N'鐢熸垚鏌ヨ', 115, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1056, N'鐢熸垚淇敼', 115, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1056, N'鐢熸垚淇敼', 115, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:edit', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1057, N'鐢熸垚鍒犻櫎', 115, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1057, N'鐢熸垚鍒犻櫎', 115, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1058, N'瀵煎叆浠g爜', 115, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:import', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1058, N'瀵煎叆浠g爜', 115, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:import', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1059, N'棰勮浠g爜', 115, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:preview', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1059, N'棰勮浠g爜', 115, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:preview', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1060, N'鐢熸垚浠g爜', 115, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:code', N'#', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_menu VALUES (1060, N'鐢熸垚浠g爜', 115, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:code', N'#', 103, 1, getdate(), NULL, NULL, N'')
 GO
 -- oss鐩稿叧鎸夐挳
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1600, N'鏂囦欢鏌ヨ', 118, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1600, N'鏂囦欢鏌ヨ', 118, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1601, N'鏂囦欢涓婁紶', 118, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:upload', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1601, N'鏂囦欢涓婁紶', 118, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:upload', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1602, N'鏂囦欢涓嬭浇', 118, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:download', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1602, N'鏂囦欢涓嬭浇', 118, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:download', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1603, N'鏂囦欢鍒犻櫎', 118, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1603, N'鏂囦欢鍒犻櫎', 118, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1604, N'閰嶇疆娣诲姞', 118, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1620, N'閰嶇疆鍒楄〃', 118, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:list', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
-INSERT [sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [path], [component], [query_param], [is_frame], [is_cache], [menu_type], [visible], [status], [perms], [icon], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1605, N'閰嶇疆缂栬緫', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+INSERT sys_menu VALUES (1621, N'閰嶇疆娣诲姞', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1622, N'閰嶇疆缂栬緫', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1623, N'閰嶇疆鍒犻櫎', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+-- 绉熸埛绠$悊鐩稿叧鎸夐挳
+INSERT sys_menu VALUES (1606, N'绉熸埛鏌ヨ', 121, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1607, N'绉熸埛鏂板', 121, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1608, N'绉熸埛淇敼', 121, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1609, N'绉熸埛鍒犻櫎', 121, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1610, N'绉熸埛瀵煎嚭', 121, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+-- 绉熸埛濂楅绠$悊鐩稿叧鎸夐挳
+INSERT sys_menu VALUES (1611, N'绉熸埛濂楅鏌ヨ', 122, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1612, N'绉熸埛濂楅鏂板', 122, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1613, N'绉熸埛濂楅淇敼', 122, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1614, N'绉熸埛濂楅鍒犻櫎', 122, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1615, N'绉熸埛濂楅瀵煎嚭', 122, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+-- 瀹㈡埛绔鐞嗘寜閽�
+INSERT sys_menu VALUES (1061, N'瀹㈡埛绔鐞嗘煡璇�', 123, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1062, N'瀹㈡埛绔鐞嗘柊澧�', 123, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1063, N'瀹㈡埛绔鐞嗕慨鏀�', 123, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1064, N'瀹㈡埛绔鐞嗗垹闄�', 123, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1065, N'瀹㈡埛绔鐞嗗鍑�', 123, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+-- 娴嬭瘯鑿滃崟
+INSERT sys_menu VALUES (1500, N'娴嬭瘯鍗曡〃', 5, 1, N'demo', N'demo/demo/index', N'', 1, 0, N'C', N'0', N'0', N'demo:demo:list', N'#', 103, 1, getdate(), NULL, NULL, N'娴嬭瘯鍗曡〃鑿滃崟');
+GO
+INSERT sys_menu VALUES (1501, N'娴嬭瘯鍗曡〃鏌ヨ', 1500, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1502, N'娴嬭瘯鍗曡〃鏂板', 1500, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1503, N'娴嬭瘯鍗曡〃淇敼', 1500, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1504, N'娴嬭瘯鍗曡〃鍒犻櫎', 1500, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1505, N'娴嬭瘯鍗曡〃瀵煎嚭', 1500, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
 GO
 
-CREATE TABLE [sys_notice]
+INSERT sys_menu VALUES (1506, N'娴嬭瘯鏍戣〃', 5, 1, N'tree', N'demo/tree/index', N'', 1, 0, N'C', N'0', N'0', N'demo:tree:list', N'#', 103, 1, getdate(), NULL, NULL, N'娴嬭瘯鏍戣〃鑿滃崟');
+GO
+INSERT sys_menu VALUES (1507, N'娴嬭瘯鏍戣〃鏌ヨ', 1506, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:query', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1508, N'娴嬭瘯鏍戣〃鏂板', 1506, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:add', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1509, N'娴嬭瘯鏍戣〃淇敼', 1506, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:edit', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1510, N'娴嬭瘯鏍戣〃鍒犻櫎', 1506, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:remove', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_menu VALUES (1511, N'娴嬭瘯鏍戣〃瀵煎嚭', 1506, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:export', N'#', 103, 1, getdate(), NULL, NULL, N'');
+GO
+
+CREATE TABLE sys_notice
 (
-    [notice_id]      bigint                     NOT NULL,
-    [notice_title]   nvarchar(50)               NOT NULL,
-    [notice_type]    nchar(1)                   NOT NULL,
-    [notice_content] nvarchar(max)              NULL,
-    [status]         nchar(1)     DEFAULT ('0') NULL,
-    [create_dept]    bigint                     NULL,
-    [create_by]      bigint                     NULL,
-    [create_time]    datetime2(7)               NULL,
-    [update_by]      bigint                     NULL,
-    [update_time]    datetime2(7)               NULL,
-    [remark]         nvarchar(255)              NULL,
-    CONSTRAINT [PK__sys_noti__3E82A5DB0EC94801] PRIMARY KEY CLUSTERED ([notice_id])
+    notice_id      bigint                     NOT NULL,
+    tenant_id      nvarchar(20) DEFAULT ('000000') NULL,
+    notice_title   nvarchar(50)               NOT NULL,
+    notice_type    nchar(1)                   NOT NULL,
+    notice_content nvarchar(max)              NULL,
+    status         nchar(1)     DEFAULT ('0') NULL,
+    create_dept    bigint                     NULL,
+    create_by      bigint                     NULL,
+    create_time    datetime2(7)               NULL,
+    update_by      bigint                     NULL,
+    update_time    datetime2(7)               NULL,
+    remark         nvarchar(255)              NULL,
+    CONSTRAINT PK__sys_noti__3E82A5DB0EC94801 PRIMARY KEY CLUSTERED (notice_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -1295,6 +1914,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_notice',
     'COLUMN', N'notice_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_notice',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'鍏憡鏍囬' ,
@@ -1362,34 +1987,43 @@
     'TABLE', N'sys_notice'
 GO
 
-INSERT [sys_notice] ([notice_id], [notice_title], [notice_type], [notice_content], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'娓╅Θ鎻愰啋锛�2018-07-01 鑻ヤ緷鏂扮増鏈彂甯冨暒', N'2', N'<p>1111111111</p>', N'0', 103, 1, getdate(), 1, getdate(), N'绠$悊鍛�')
+INSERT sys_notice VALUES (1, N'000000', N'娓╅Θ鎻愰啋锛�2018-07-01 鑻ヤ緷鏂扮増鏈彂甯冨暒', N'2', N'鏂扮増鏈唴瀹�', N'0', 103, 1, getdate(), NULL, NULL, N'绠$悊鍛�')
 GO
-INSERT [sys_notice] ([notice_id], [notice_title], [notice_type], [notice_content], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'缁存姢閫氱煡锛�2018-07-01 鑻ヤ緷绯荤粺鍑屾櫒缁存姢', N'1', N'<p><img src="/dev-api/profile/upload/2021/12/04/f1e00aba-0182-46b0-9c65-7804dfd0ea4e.png"></p>', N'0', 103, 1, getdate(), 1, getdate(), N'绠$悊鍛�')
+INSERT sys_notice VALUES (2, N'000000', N'缁存姢閫氱煡锛�2018-07-01 鑻ヤ緷绯荤粺鍑屾櫒缁存姢', N'1', N'缁存姢鍐呭', N'0', 103, 1, getdate(), NULL, NULL, N'绠$悊鍛�')
 GO
 
-CREATE TABLE [sys_oper_log]
+CREATE TABLE sys_oper_log
 (
-    [oper_id]        bigint                       NOT NULL,
-    [title]          nvarchar(50)   DEFAULT ''    NULL,
-    [business_type]  int            DEFAULT ((0)) NULL,
-    [method]         nvarchar(100)  DEFAULT ''    NULL,
-    [request_method] nvarchar(10)   DEFAULT ''    NULL,
-    [operator_type]  int            DEFAULT ((0)) NULL,
-    [oper_name]      nvarchar(50)   DEFAULT ''    NULL,
-    [dept_name]      nvarchar(50)   DEFAULT ''    NULL,
-    [oper_url]       nvarchar(255)  DEFAULT ''    NULL,
-    [oper_ip]        nvarchar(128)  DEFAULT ''    NULL,
-    [oper_location]  nvarchar(255)  DEFAULT ''    NULL,
-    [oper_param]     nvarchar(2000) DEFAULT ''    NULL,
-    [json_result]    nvarchar(2000) DEFAULT ''    NULL,
-    [status]         int            DEFAULT ((0)) NULL,
-    [error_msg]      nvarchar(2000) DEFAULT ''    NULL,
-    [oper_time]      datetime2(7)                 NULL,
-    CONSTRAINT [PK__sys_oper__34723BF9BD954573] PRIMARY KEY CLUSTERED ([oper_id])
+    oper_id        bigint                       NOT NULL,
+    tenant_id      nvarchar(20)   DEFAULT ('000000') NULL,
+    title          nvarchar(50)   DEFAULT ''    NULL,
+    business_type  int            DEFAULT ((0)) NULL,
+    method         nvarchar(100)  DEFAULT ''    NULL,
+    request_method nvarchar(10)   DEFAULT ''    NULL,
+    operator_type  int            DEFAULT ((0)) NULL,
+    oper_name      nvarchar(50)   DEFAULT ''    NULL,
+    dept_name      nvarchar(50)   DEFAULT ''    NULL,
+    oper_url       nvarchar(255)  DEFAULT ''    NULL,
+    oper_ip        nvarchar(128)  DEFAULT ''    NULL,
+    oper_location  nvarchar(255)  DEFAULT ''    NULL,
+    oper_param     nvarchar(4000) DEFAULT ''    NULL,
+    json_result    nvarchar(4000) DEFAULT ''    NULL,
+    status         int            DEFAULT ((0)) NULL,
+    error_msg      nvarchar(4000) DEFAULT ''    NULL,
+    oper_time      datetime2(7)                 NULL,
+    cost_time      bigint         DEFAULT ((0)) NULL,
+    CONSTRAINT PK__sys_oper__34723BF9BD954573 PRIMARY KEY CLUSTERED (oper_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
 ON [PRIMARY]
+GO
+
+CREATE NONCLUSTERED INDEX idx_sys_oper_log_bt ON sys_oper_log (business_type)
+GO
+CREATE NONCLUSTERED INDEX idx_sys_oper_log_s ON sys_oper_log (status)
+GO
+CREATE NONCLUSTERED INDEX idx_sys_oper_log_ot ON sys_oper_log (oper_time)
 GO
 
 EXEC sys.sp_addextendedproperty
@@ -1397,6 +2031,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_oper_log',
     'COLUMN', N'oper_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_oper_log',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'妯″潡鏍囬' ,
@@ -1489,25 +2129,34 @@
     'COLUMN', N'oper_time'
 GO
 EXEC sys.sp_addextendedproperty
+    'MS_Description', N'娑堣�楁椂闂�' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_oper_log',
+    'COLUMN', N'cost_time'
+GO
+EXEC sys.sp_addextendedproperty
     'MS_Description', N'鎿嶄綔鏃ュ織璁板綍' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_oper_log'
 GO
 
-CREATE TABLE [sys_post]
+CREATE TABLE sys_post
 (
-    [post_id]     bigint                  NOT NULL,
-    [post_code]   nvarchar(64)            NOT NULL,
-    [post_name]   nvarchar(50)            NOT NULL,
-    [post_sort]   int                     NOT NULL,
-    [status]      nchar(1)                NOT NULL,
-    [create_dept] bigint                  NOT NULL,
-    [create_by]   bigint                  NOT NULL,
-    [create_time] datetime2(7)            NULL,
-    [update_by]   bigint                  NOT NULL,
-    [update_time] datetime2(7)            NULL,
-    [remark]      nvarchar(500)           NULL,
-    CONSTRAINT [PK__sys_post__3ED7876668E2D081] PRIMARY KEY CLUSTERED ([post_id])
+    post_id     bigint                          NOT NULL,
+    tenant_id   nvarchar(20) DEFAULT ('000000') NULL,
+    dept_id     bigint                          NOT NULL,
+    post_code   nvarchar(64)                    NOT NULL,
+    post_category nvarchar(100)                 NULL,
+    post_name   nvarchar(50)                    NOT NULL,
+    post_sort   int                             NOT NULL,
+    status      nchar(1)                        NOT NULL,
+    create_dept bigint                          NULL,
+    create_by   bigint                          NULL,
+    create_time datetime2(7)                    NULL,
+    update_by   bigint                          NULL,
+    update_time datetime2(7)                    NULL,
+    remark      nvarchar(500)                   NULL,
+    CONSTRAINT PK__sys_post__3ED7876668E2D081 PRIMARY KEY CLUSTERED (post_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -1521,10 +2170,28 @@
     'COLUMN', N'post_id'
 GO
 EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_post',
+    'COLUMN', N'tenant_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬id' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_post',
+    'COLUMN', N'dept_id'
+GO
+EXEC sys.sp_addextendedproperty
     'MS_Description', N'宀椾綅缂栫爜' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_post',
     'COLUMN', N'post_code'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'宀椾綅绫诲埆缂栫爜' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_post',
+    'COLUMN', N'post_category'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'宀椾綅鍚嶇О' ,
@@ -1586,33 +2253,34 @@
     'TABLE', N'sys_post'
 GO
 
-INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'ceo', N'钁d簨闀�', 1, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (1, N'000000', 103, N'ceo', NULL,  N'钁d簨闀�', 1, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'se', N'椤圭洰缁忕悊', 2, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (2, N'000000', 100, N'se', NULL,  N'椤圭洰缁忕悊', 2, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (3, N'hr', N'浜哄姏璧勬簮', 3, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (3, N'000000', 100, N'hr', NULL,  N'浜哄姏璧勬簮', 3, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
-INSERT [sys_post] ([post_id], [post_code], [post_name], [post_sort], [status], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (4, N'user', N'鏅�氬憳宸�', 4, N'0', 103, 1, getdate(), NULL, NULL, N'')
+INSERT sys_post VALUES (4, N'000000', 100, N'user', NULL,  N'鏅�氬憳宸�', 4, N'0', 103, 1, getdate(), NULL, NULL, N'')
 GO
 
-CREATE TABLE [sys_role]
+CREATE TABLE sys_role
 (
-    [role_id]             bigint                     NOT NULL,
-    [role_name]           nvarchar(30)               NOT NULL,
-    [role_key]            nvarchar(100)              NOT NULL,
-    [role_sort]           int                        NOT NULL,
-    [data_scope]          nchar(1)     DEFAULT ('1') NULL,
-    [menu_check_strictly] tinyint      DEFAULT ((1)) NULL,
-    [dept_check_strictly] tinyint      DEFAULT ((1)) NULL,
-    [status]              nchar(1)                   NOT NULL,
-    [del_flag]            nchar(1)     DEFAULT ('0') NULL,
-    [create_dept]         bigint                     NULL,
-    [create_by]           bigint                     NULL,
-    [create_time]         datetime2(7)               NULL,
-    [update_by]           bigint                     NULL,
-    [update_time]         datetime2(7)               NULL,
-    [remark]              nvarchar(500)              NULL,
-    CONSTRAINT [PK__sys_role__760965CCF9383145] PRIMARY KEY CLUSTERED ([role_id])
+    role_id             bigint                     NOT NULL,
+    tenant_id           nvarchar(20) DEFAULT ('000000') NULL,
+    role_name           nvarchar(30)               NOT NULL,
+    role_key            nvarchar(100)              NOT NULL,
+    role_sort           int                        NOT NULL,
+    data_scope          nchar(1)     DEFAULT ('1') NULL,
+    menu_check_strictly tinyint      DEFAULT ((1)) NULL,
+    dept_check_strictly tinyint      DEFAULT ((1)) NULL,
+    status              nchar(1)                   NOT NULL,
+    del_flag            nchar(1)     DEFAULT ('0') NULL,
+    create_dept         bigint                     NULL,
+    create_by           bigint                     NULL,
+    create_time         datetime2(7)               NULL,
+    update_by           bigint                     NULL,
+    update_time         datetime2(7)               NULL,
+    remark              nvarchar(500)              NULL,
+    CONSTRAINT PK__sys_role__760965CCF9383145 PRIMARY KEY CLUSTERED (role_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -1624,6 +2292,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_role',
     'COLUMN', N'role_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_role',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'瑙掕壊鍚嶇О' ,
@@ -1668,7 +2342,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_role',
     'COLUMN', N'del_flag'
@@ -1715,16 +2389,18 @@
     'TABLE', N'sys_role'
 GO
 
-INSERT [sys_role] ([role_id], [role_name], [role_key], [role_sort], [data_scope], [menu_check_strictly], [dept_check_strictly], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, N'瓒呯骇绠$悊鍛�', N'admin', 1, N'1', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'瓒呯骇绠$悊鍛�')
+INSERT sys_role VALUES (1, N'000000', N'瓒呯骇绠$悊鍛�', N'superadmin', 1, N'1', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'瓒呯骇绠$悊鍛�')
 GO
-INSERT [sys_role] ([role_id], [role_name], [role_key], [role_sort], [data_scope], [menu_check_strictly], [dept_check_strictly], [status], [del_flag], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, N'鏅�氳鑹�', N'common', 2, N'2', 1, 1, N'0', N'0', 103, 1, getdate(), 1, CAST(N'2021-12-04T15:44:20.0000000' AS DateTime2), N'鏅�氳鑹�')
+INSERT sys_role VALUES (3, N'000000', N'鏈儴闂ㄥ強浠ヤ笅', N'test1', 3, N'4', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'');
+GO
+INSERT sys_role VALUES (4, N'000000', N'浠呮湰浜�', N'test2', 4, N'5', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'');
 GO
 
-CREATE TABLE [sys_role_dept]
+CREATE TABLE sys_role_dept
 (
-    [role_id] bigint NOT NULL,
-    [dept_id] bigint NOT NULL,
-    CONSTRAINT [PK__sys_role__2BC3005BABBCA08A] PRIMARY KEY CLUSTERED ([role_id], [dept_id])
+    role_id bigint NOT NULL,
+    dept_id bigint NOT NULL,
+    CONSTRAINT PK__sys_role__2BC3005BABBCA08A PRIMARY KEY CLUSTERED (role_id, dept_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -1749,18 +2425,11 @@
     'TABLE', N'sys_role_dept'
 GO
 
-INSERT [sys_role_dept] ([role_id], [dept_id]) VALUES (2, 100)
-GO
-INSERT [sys_role_dept] ([role_id], [dept_id]) VALUES (2, 101)
-GO
-INSERT [sys_role_dept] ([role_id], [dept_id]) VALUES (2, 105)
-GO
-
-CREATE TABLE [sys_role_menu]
+CREATE TABLE sys_role_menu
 (
-    [role_id] bigint NOT NULL,
-    [menu_id] bigint NOT NULL,
-    CONSTRAINT [PK__sys_role__A2C36A6187BA4B17] PRIMARY KEY CLUSTERED ([role_id], [menu_id])
+    role_id bigint NOT NULL,
+    menu_id bigint NOT NULL,
+    CONSTRAINT PK__sys_role__A2C36A6187BA4B17 PRIMARY KEY CLUSTERED (role_id, menu_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -1785,194 +2454,254 @@
     'TABLE', N'sys_role_menu'
 GO
 
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1)
+-- ----------------------------
+-- 鍒濆鍖�-瑙掕壊鍜岃彍鍗曞叧鑱旇〃鏁版嵁
+-- ----------------------------
+INSERT sys_role_menu VALUES (3, 1);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 2)
+INSERT sys_role_menu VALUES (3, 5);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 3)
+INSERT sys_role_menu VALUES (3, 100);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 100)
+INSERT sys_role_menu VALUES (3, 101);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 101)
+INSERT sys_role_menu VALUES (3, 102);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 102)
+INSERT sys_role_menu VALUES (3, 103);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 103)
+INSERT sys_role_menu VALUES (3, 104);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 104)
+INSERT sys_role_menu VALUES (3, 105);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 105)
+INSERT sys_role_menu VALUES (3, 106);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 106)
+INSERT sys_role_menu VALUES (3, 107);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 107)
+INSERT sys_role_menu VALUES (3, 108);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 108)
+INSERT sys_role_menu VALUES (3, 118);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 109)
+INSERT sys_role_menu VALUES (3, 123);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 110)
+INSERT sys_role_menu VALUES (3, 500);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 111)
+INSERT sys_role_menu VALUES (3, 501);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 112)
+INSERT sys_role_menu VALUES (3, 1001);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 113)
+INSERT sys_role_menu VALUES (3, 1002);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 114)
+INSERT sys_role_menu VALUES (3, 1003);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 115)
+INSERT sys_role_menu VALUES (3, 1004);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 116)
+INSERT sys_role_menu VALUES (3, 1005);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 500)
+INSERT sys_role_menu VALUES (3, 1006);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 501)
+INSERT sys_role_menu VALUES (3, 1007);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1001)
+INSERT sys_role_menu VALUES (3, 1008);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1002)
+INSERT sys_role_menu VALUES (3, 1009);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1003)
+INSERT sys_role_menu VALUES (3, 1010);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1004)
+INSERT sys_role_menu VALUES (3, 1011);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1005)
+INSERT sys_role_menu VALUES (3, 1012);
+GO
+INSERT sys_role_menu VALUES (3, 1013);
+GO
+INSERT sys_role_menu VALUES (3, 1014);
+GO
+INSERT sys_role_menu VALUES (3, 1015);
+GO
+INSERT sys_role_menu VALUES (3, 1016);
+GO
+INSERT sys_role_menu VALUES (3, 1017);
+GO
+INSERT sys_role_menu VALUES (3, 1018);
+GO
+INSERT sys_role_menu VALUES (3, 1019);
+GO
+INSERT sys_role_menu VALUES (3, 1020);
+GO
+INSERT sys_role_menu VALUES (3, 1021);
+GO
+INSERT sys_role_menu VALUES (3, 1022);
+GO
+INSERT sys_role_menu VALUES (3, 1023);
+GO
+INSERT sys_role_menu VALUES (3, 1024);
+GO
+INSERT sys_role_menu VALUES (3, 1025);
+GO
+INSERT sys_role_menu VALUES (3, 1026);
+GO
+INSERT sys_role_menu VALUES (3, 1027);
+GO
+INSERT sys_role_menu VALUES (3, 1028);
+GO
+INSERT sys_role_menu VALUES (3, 1029);
+GO
+INSERT sys_role_menu VALUES (3, 1030);
+GO
+INSERT sys_role_menu VALUES (3, 1031);
+GO
+INSERT sys_role_menu VALUES (3, 1032);
+GO
+INSERT sys_role_menu VALUES (3, 1033);
+GO
+INSERT sys_role_menu VALUES (3, 1034);
+GO
+INSERT sys_role_menu VALUES (3, 1035);
+GO
+INSERT sys_role_menu VALUES (3, 1036);
+GO
+INSERT sys_role_menu VALUES (3, 1037);
+GO
+INSERT sys_role_menu VALUES (3, 1038);
+GO
+INSERT sys_role_menu VALUES (3, 1039);
+GO
+INSERT sys_role_menu VALUES (3, 1040);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1006)
+INSERT sys_role_menu VALUES (3, 1041);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1007)
+INSERT sys_role_menu VALUES (3, 1042);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1008)
+INSERT sys_role_menu VALUES (3, 1043);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1009)
+INSERT sys_role_menu VALUES (3, 1044);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1010)
+INSERT sys_role_menu VALUES (3, 1045);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1011)
+INSERT sys_role_menu VALUES (3, 1050);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1012)
+INSERT sys_role_menu VALUES (3, 1061);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1013)
+INSERT sys_role_menu VALUES (3, 1062);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1014)
+INSERT sys_role_menu VALUES (3, 1063);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1015)
+INSERT sys_role_menu VALUES (3, 1064);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1016)
+INSERT sys_role_menu VALUES (3, 1065);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1017)
+INSERT sys_role_menu VALUES (3, 1500);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1018)
+INSERT sys_role_menu VALUES (3, 1501);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1019)
+INSERT sys_role_menu VALUES (3, 1502);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1020)
+INSERT sys_role_menu VALUES (3, 1503);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1021)
+INSERT sys_role_menu VALUES (3, 1504);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1022)
+INSERT sys_role_menu VALUES (3, 1505);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1023)
+INSERT sys_role_menu VALUES (3, 1506);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1024)
+INSERT sys_role_menu VALUES (3, 1507);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1025)
+INSERT sys_role_menu VALUES (3, 1508);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1026)
+INSERT sys_role_menu VALUES (3, 1509);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1027)
+INSERT sys_role_menu VALUES (3, 1510);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1028)
+INSERT sys_role_menu VALUES (3, 1511);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1029)
+INSERT sys_role_menu VALUES (3, 1600);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1030)
+INSERT sys_role_menu VALUES (3, 1601);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1031)
+INSERT sys_role_menu VALUES (3, 1602);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1032)
+INSERT sys_role_menu VALUES (3, 1603);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1033)
+INSERT sys_role_menu VALUES (3, 1620);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1034)
+INSERT sys_role_menu VALUES (3, 1621);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1035)
+INSERT sys_role_menu VALUES (3, 1622);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1036)
+INSERT sys_role_menu VALUES (3, 1623);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1037)
+INSERT sys_role_menu VALUES (3, 11618);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1038)
+INSERT sys_role_menu VALUES (3, 11619);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1039)
+INSERT sys_role_menu VALUES (3, 11629);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1040)
+INSERT sys_role_menu VALUES (3, 11632);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1041)
+INSERT sys_role_menu VALUES (3, 11633);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1042)
+INSERT sys_role_menu VALUES (3, 11638);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1043)
+INSERT sys_role_menu VALUES (3, 11639);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1044)
+INSERT sys_role_menu VALUES (3, 11640);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1045)
+INSERT sys_role_menu VALUES (3, 11641);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1046)
+INSERT sys_role_menu VALUES (3, 11642);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1047)
+INSERT sys_role_menu VALUES (3, 11643);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1048)
+INSERT sys_role_menu VALUES (4, 5);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1049)
+INSERT sys_role_menu VALUES (4, 1500);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1050)
+INSERT sys_role_menu VALUES (4, 1501);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1051)
+INSERT sys_role_menu VALUES (4, 1502);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1052)
+INSERT sys_role_menu VALUES (4, 1503);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1053)
+INSERT sys_role_menu VALUES (4, 1504);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1054)
+INSERT sys_role_menu VALUES (4, 1505);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1055)
+INSERT sys_role_menu VALUES (4, 1506);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1056)
+INSERT sys_role_menu VALUES (4, 1507);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1057)
+INSERT sys_role_menu VALUES (4, 1508);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1058)
+INSERT sys_role_menu VALUES (4, 1509);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1059)
+INSERT sys_role_menu VALUES (4, 1510);
 GO
-INSERT [sys_role_menu] ([role_id], [menu_id]) VALUES (2, 1060)
+INSERT sys_role_menu VALUES (4, 1511);
 GO
 
-CREATE TABLE [sys_user]
+CREATE TABLE sys_user
 (
-    [user_id]     bigint                             NOT NULL,
-    [dept_id]     bigint                             NULL,
-    [user_name]   nvarchar(30)                       NOT NULL,
-    [nick_name]   nvarchar(30)                       NOT NULL,
-    [user_type]   nvarchar(10)  DEFAULT ('sys_user') NULL,
-    [email]       nvarchar(50)  DEFAULT ''           NULL,
-    [phonenumber] nvarchar(11)  DEFAULT ''           NULL,
-    [sex]         nchar(1)      DEFAULT ('0')        NULL,
-    [avatar]      bigint                             NULL,
-    [password]    nvarchar(100) DEFAULT ''           NULL,
-    [status]      nchar(1)      DEFAULT ('0')        NULL,
-    [del_flag]    nchar(1)      DEFAULT ('0')        NULL,
-    [login_ip]    nvarchar(128) DEFAULT ''           NULL,
-    [login_date]  datetime2(7)                       NULL,
-    [create_dept] bigint                             NULL,
-    [create_by]   bigint                             NULL,
-    [create_time] datetime2(7)                       NULL,
-    [update_by]   bigint                             NULL,
-    [update_time] datetime2(7)                       NULL,
-    [remark]      nvarchar(500)                      NULL,
-    CONSTRAINT [PK__sys_user__B9BE370F79170B6A] PRIMARY KEY CLUSTERED ([user_id])
+    user_id     bigint                             NOT NULL,
+    tenant_id   nvarchar(20)  DEFAULT ('000000')   NULL,
+    dept_id     bigint                             NULL,
+    user_name   nvarchar(30)                       NOT NULL,
+    nick_name   nvarchar(30)                       NOT NULL,
+    user_type   nvarchar(10)  DEFAULT ('sys_user') NULL,
+    email       nvarchar(50)  DEFAULT ''           NULL,
+    phonenumber nvarchar(11)  DEFAULT ''           NULL,
+    sex         nchar(1)      DEFAULT ('0')        NULL,
+    avatar      bigint                             NULL,
+    password    nvarchar(100) DEFAULT ''           NULL,
+    status      nchar(1)      DEFAULT ('0')        NULL,
+    del_flag    nchar(1)      DEFAULT ('0')        NULL,
+    login_ip    nvarchar(128) DEFAULT ''           NULL,
+    login_date  datetime2(7)                       NULL,
+    create_dept bigint                             NULL,
+    create_by   bigint                             NULL,
+    create_time datetime2(7)                       NULL,
+    update_by   bigint                             NULL,
+    update_time datetime2(7)                       NULL,
+    remark      nvarchar(500)                      NULL,
+    CONSTRAINT PK__sys_user__B9BE370F79170B6A PRIMARY KEY CLUSTERED (user_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -1984,6 +2713,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_user',
     'COLUMN', N'user_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_user',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sys.sp_addextendedproperty
     'MS_Description', N'閮ㄩ棬ID' ,
@@ -2046,7 +2781,7 @@
     'COLUMN', N'status'
 GO
 EXEC sys.sp_addextendedproperty
-    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�' ,
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�' ,
     'SCHEMA', N'dbo',
     'TABLE', N'sys_user',
     'COLUMN', N'del_flag'
@@ -2105,16 +2840,18 @@
     'TABLE', N'sys_user'
 GO
 
-INSERT [sys_user] ([user_id], [dept_id], [user_name], [nick_name], [user_type], [email], [phonenumber], [sex], [avatar], [password], [status], [del_flag], [login_ip], [login_date], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (1, 103, N'admin', N'鐤媯鐨勭嫯瀛怢i', N'sys_user', N'crazyLionLi@163.com', N'15888888888', N'1', NULL, N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), NULL, getdate(), N'绠$悊鍛�')
+INSERT sys_user VALUES (1, N'000000', 103,  N'admin', N'鐤媯鐨勭嫯瀛怢i', N'sys_user', N'crazyLionLi@163.com', N'15888888888', N'1', NULL, N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), NULL, NULL, N'绠$悊鍛�')
 GO
-INSERT [sys_user] ([user_id], [dept_id], [user_name], [nick_name], [user_type], [email], [phonenumber], [sex], [avatar], [password], [status], [del_flag], [login_ip], [login_date], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (2, 105, N'ry', N'鐤媯鐨勭嫯瀛怢i', N'sys_user', N'crazyLionLi@qq.com', N'15666666666', N'1', NULL, N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), 1, getdate(), N'娴嬭瘯鍛�')
+INSERT sys_user VALUES (3, N'000000', 108, N'test', N'鏈儴闂ㄥ強浠ヤ笅 瀵嗙爜666666', N'sys_user', N'', N'', N'0', NULL, N'$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), 3, getdate(), NULL);
+GO
+INSERT sys_user VALUES (4, N'000000', 102, N'test1', N'浠呮湰浜� 瀵嗙爜666666', N'sys_user', N'', N'', N'0', NULL, N'$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), 4, getdate(), NULL);
 GO
 
-CREATE TABLE [sys_user_post]
+CREATE TABLE sys_user_post
 (
-    [user_id] bigint NOT NULL,
-    [post_id] bigint NOT NULL,
-    CONSTRAINT [PK__sys_user__CA534F799C04589B] PRIMARY KEY CLUSTERED ([user_id], [post_id])
+    user_id bigint NOT NULL,
+    post_id bigint NOT NULL,
+    CONSTRAINT PK__sys_user__CA534F799C04589B PRIMARY KEY CLUSTERED (user_id, post_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -2139,16 +2876,14 @@
     'TABLE', N'sys_user_post'
 GO
 
-INSERT [sys_user_post] ([user_id], [post_id]) VALUES (1, 1)
-GO
-INSERT [sys_user_post] ([user_id], [post_id]) VALUES (2, 2)
+INSERT sys_user_post VALUES (1, 1)
 GO
 
-CREATE TABLE [sys_user_role]
+CREATE TABLE sys_user_role
 (
-    [user_id] bigint NOT NULL,
-    [role_id] bigint NOT NULL,
-    CONSTRAINT [PK__sys_user__6EDEA153FB34D8F0] PRIMARY KEY CLUSTERED ([user_id], [role_id])
+    user_id bigint NOT NULL,
+    role_id bigint NOT NULL,
+    CONSTRAINT PK__sys_user__6EDEA153FB34D8F0 PRIMARY KEY CLUSTERED (user_id, role_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -2173,25 +2908,28 @@
     'TABLE', N'sys_user_role'
 GO
 
-INSERT [sys_user_role] ([user_id], [role_id]) VALUES (1, 1)
+INSERT sys_user_role VALUES (1, 1)
 GO
-INSERT [sys_user_role] ([user_id], [role_id]) VALUES (2, 2)
+INSERT sys_user_role VALUES (3, 3);
+GO
+INSERT sys_user_role VALUES (4, 4);
 GO
 
-CREATE TABLE [sys_oss]
+CREATE TABLE sys_oss
 (
-    [oss_id]        bigint                          NOT NULL,
-    [file_name]     nvarchar(255) DEFAULT ''        NOT NULL,
-    [original_name] nvarchar(255) DEFAULT ''        NOT NULL,
-    [file_suffix]   nvarchar(10)  DEFAULT ''        NOT NULL,
-    [url]           nvarchar(500)                   NOT NULL,
-    [create_dept]   bigint                          NULL,
-    [create_time]   datetime2(7)                    NULL,
-    [create_by]     bigint                          NULL,
-    [update_time]   datetime2(7)                    NULL,
-    [update_by]     bigint                          NULL,
-    [service]       nvarchar(20)  DEFAULT ('minio') NOT NULL,
-    CONSTRAINT [PK__sys_oss__91241EA442389F0D] PRIMARY KEY CLUSTERED ([oss_id])
+    oss_id        bigint                          NOT NULL,
+    tenant_id     nvarchar(20)  DEFAULT ('000000') NULL,
+    file_name     nvarchar(255) DEFAULT ''        NOT NULL,
+    original_name nvarchar(255) DEFAULT ''        NOT NULL,
+    file_suffix   nvarchar(10)  DEFAULT ''        NOT NULL,
+    url           nvarchar(500)                   NOT NULL,
+    create_dept   bigint                          NULL,
+    create_time   datetime2(7)                    NULL,
+    create_by     bigint                          NULL,
+    update_time   datetime2(7)                    NULL,
+    update_by     bigint                          NULL,
+    service       nvarchar(20)  DEFAULT ('minio') NOT NULL,
+    CONSTRAINT PK__sys_oss__91241EA442389F0D PRIMARY KEY CLUSTERED (oss_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -2203,6 +2941,12 @@
     'SCHEMA', N'dbo',
     'TABLE', N'sys_oss',
     'COLUMN', N'oss_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_oss',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sp_addextendedproperty
     'MS_Description', N'鏂囦欢鍚�',
@@ -2270,28 +3014,29 @@
     'TABLE', N'sys_oss'
 GO
 
-CREATE TABLE [sys_oss_config]
+CREATE TABLE sys_oss_config
 (
-    [oss_config_id] bigint                      NOT NULL,
-    [config_key]    nvarchar(20)  DEFAULT ''    NOT NULL,
-    [access_key]    nvarchar(255) DEFAULT ''    NULL,
-    [secret_key]    nvarchar(255) DEFAULT ''    NULL,
-    [bucket_name]   nvarchar(255) DEFAULT ''    NULL,
-    [prefix]        nvarchar(255) DEFAULT ''    NULL,
-    [endpoint]      nvarchar(255) DEFAULT ''    NULL,
-    [domain]        nvarchar(255) DEFAULT ''    NULL,
-    [is_https]      nchar(1)      DEFAULT ('N') NULL,
-    [region]        nvarchar(255) DEFAULT ''    NULL,
-    [access_policy] nchar(1)      DEFAULT ('1') NOT NULL,
-    [status]        nchar(1)      DEFAULT ('1') NULL,
-    [ext1]          nvarchar(255) DEFAULT ''    NULL,
-    [create_dept]   bigint                      NULL,
-    [create_by]     bigint                      NULL,
-    [create_time]   datetime2(7)                NULL,
-    [update_by]     bigint                      NULL,
-    [update_time]   datetime2(7)                NULL,
-    [remark]        nvarchar(500)               NULL,
-    CONSTRAINT [PK__sys_oss___BFBDE87009ED2882] PRIMARY KEY CLUSTERED ([oss_config_id])
+    oss_config_id bigint                      NOT NULL,
+    tenant_id     nvarchar(20)  DEFAULT ('000000') NULL,
+    config_key    nvarchar(20)  DEFAULT ''    NOT NULL,
+    access_key    nvarchar(255) DEFAULT ''    NULL,
+    secret_key    nvarchar(255) DEFAULT ''    NULL,
+    bucket_name   nvarchar(255) DEFAULT ''    NULL,
+    prefix        nvarchar(255) DEFAULT ''    NULL,
+    endpoint      nvarchar(255) DEFAULT ''    NULL,
+    domain        nvarchar(255) DEFAULT ''    NULL,
+    is_https      nchar(1)      DEFAULT ('N') NULL,
+    region        nvarchar(255) DEFAULT ''    NULL,
+    access_policy nchar(1)      DEFAULT ('1') NOT NULL,
+    status        nchar(1)      DEFAULT ('1') NULL,
+    ext1          nvarchar(255) DEFAULT ''    NULL,
+    create_dept   bigint                      NULL,
+    create_by     bigint                      NULL,
+    create_time   datetime2(7)                NULL,
+    update_by     bigint                      NULL,
+    update_time   datetime2(7)                NULL,
+    remark        nvarchar(500)               NULL,
+    CONSTRAINT PK__sys_oss___BFBDE87009ED2882 PRIMARY KEY CLUSTERED (oss_config_id)
         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
         ON [PRIMARY]
 )
@@ -2299,10 +3044,16 @@
 GO
 
 EXEC sp_addextendedproperty
-    'MS_Description', N'涓诲缓',
+    'MS_Description', N'涓婚敭',
     'SCHEMA', N'dbo',
     'TABLE', N'sys_oss_config',
     'COLUMN', N'oss_config_id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'绉熸埛缂栧彿' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_oss_config',
+    'COLUMN', N'tenant_id'
 GO
 EXEC sp_addextendedproperty
     'MS_Description', N'閰嶇疆key',
@@ -2365,7 +3116,7 @@
      'COLUMN', N'access_policy'
 GO
 EXEC sp_addextendedproperty
-    'MS_Description', N'鐘舵�侊紙0=姝e父,1=鍋滅敤锛�',
+    'MS_Description', N'鏄惁榛樿锛�0=鏄�,1=鍚︼級',
     'SCHEMA', N'dbo',
     'TABLE', N'sys_oss_config',
     'COLUMN', N'status'
@@ -2418,13 +3169,439 @@
     'TABLE', N'sys_oss_config'
 GO
 
-INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [domain], [is_https], [region], [access_policy], [status], [ext1], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'1', N'minio', N'ruoyi',            N'ruoyi123',        N'ruoyi',            N'', N'127.0.0.1:9000',                    N'',N'N', N'',           N'1', N'0', N'', 103, 1, getdate(), 1, getdate(), NULL)
+INSERT INTO sys_oss_config VALUES (N'1', N'000000', N'minio', N'ruoyi',            N'ruoyi123',        N'ruoyi',            N'', N'127.0.0.1:9000',                    N'',N'N', N'',           N'1', N'0', N'', 103, 1, getdate(), 1, getdate(), NULL)
 GO
-INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [domain], [is_https], [region], [access_policy], [status], [ext1], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'2', N'qiniu', N'XXXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi',            N'', N's3-cn-north-1.qiniucs.com',         N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
+INSERT INTO sys_oss_config VALUES (N'2', N'000000', N'qiniu', N'XXXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi',            N'', N's3-cn-north-1.qiniucs.com',         N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
 GO
-INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [domain], [is_https], [region], [access_policy], [status], [ext1], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'3', N'aliyun', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi',            N'', N'oss-cn-beijing.aliyuncs.com',       N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
+INSERT INTO sys_oss_config VALUES (N3, N'000000', N'aliyun', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi',            N'', N'oss-cn-beijing.aliyuncs.com',       N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
 GO
-INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [domain], [is_https], [region], [access_policy], [status], [ext1], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'4', N'qcloud', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi-1250000000', N'', N'cos.ap-beijing.myqcloud.com',       N'',N'N', N'ap-beijing', N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
+INSERT INTO sys_oss_config VALUES (N'4', N'000000', N'qcloud', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi-1250000000', N'', N'cos.ap-beijing.myqcloud.com',       N'',N'N', N'ap-beijing', N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
 GO
-INSERT INTO [sys_oss_config] ([oss_config_id], [config_key], [access_key], [secret_key], [bucket_name], [prefix], [endpoint], [domain], [is_https], [region], [access_policy], [status], [ext1], [create_dept], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (N'5', N'image',  N'ruoyi',           N'ruoyi123',        N'ruoyi',            N'image', N'127.0.0.1:9000',               N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
+INSERT INTO sys_oss_config VALUES (N'5', N'000000', N'image',  N'ruoyi',           N'ruoyi123',        N'ruoyi',            N'image', N'127.0.0.1:9000',               N'',N'N', N'',           N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL)
+GO
+
+
+CREATE TABLE sys_client
+(
+    id                  bigint                              NOT NULL,
+    client_id           nvarchar(64)  DEFAULT ''            NULL,
+    client_key          nvarchar(32) DEFAULT ''            NULL,
+    client_secret       nvarchar(255) DEFAULT ''            NULL,
+    grant_type          nvarchar(255) DEFAULT ''            NULL,
+    device_type         nvarchar(32) DEFAULT ''            NULL,
+    active_timeout      int           DEFAULT ((1800))      NULL,
+    timeout             int           DEFAULT ((604800))    NULL,
+    status              nchar(1)      DEFAULT ('0')         NULL,
+    del_flag            nchar(1)      DEFAULT ('0')         NULL,
+    create_dept         bigint                              NULL,
+    create_by           bigint                              NULL,
+    create_time         datetime2(7)                        NULL,
+    update_by           bigint                              NULL,
+    update_time         datetime2(7)                        NULL
+    CONSTRAINT PK__sys_client___BFBDE87009ED2882 PRIMARY KEY CLUSTERED (id)
+        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+        ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'涓婚敭',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'id'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'瀹㈡埛绔痠d' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'client_id'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'瀹㈡埛绔痥ey',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'client_key'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'瀹㈡埛绔閽�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'client_secret'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'鎺堟潈绫诲瀷',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'grant_type'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'璁惧绫诲瀷',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'device_type'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'token娲昏穬瓒呮椂鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'active_timeout'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'token鍥哄畾瓒呮椂',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'timeout'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐘舵�侊紙0姝e父 1鍋滅敤锛�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'status'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'del_flag'
+GO
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'create_dept'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鑰�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'create_by'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'create_time'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊鑰�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'update_by'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client',
+    'COLUMN', N'update_time'
+GO
+EXEC sp_addextendedproperty
+    'MS_Description', N'绯荤粺鎺堟潈琛�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'sys_client'
+GO
+
+INSERT INTO sys_client VALUES (N'1', N'e5cd7e4891bf95d1d19206ce24a7b32e', N'pc', N'pc123', N'password,social', N'pc', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate())
+GO
+INSERT INTO sys_client VALUES (N'2', N'428a8310cd442757ae699df5d894f051', N'app', N'app123', N'password,sms,social', N'android', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate())
+GO
+
+CREATE TABLE test_demo
+(
+    id          bigint            NOT NULL,
+    tenant_id   nvarchar(20)      DEFAULT ('000000') NULL,
+    dept_id     bigint            NULL,
+    user_id     bigint            NULL,
+    order_num   int DEFAULT ((0)) NULL,
+    test_key    nvarchar(255)     NULL,
+    value       nvarchar(255)     NULL,
+    version     int DEFAULT ((0)) NULL,
+    create_dept bigint            NULL,
+    create_time datetime2(0)      NULL,
+    create_by   bigint            NULL,
+    update_time datetime2(0)      NULL,
+    update_by   bigint            NULL,
+    del_flag    int DEFAULT ((0)) NULL,
+    CONSTRAINT PK__test_dem__3213E83F176051C8 PRIMARY KEY CLUSTERED (id)
+        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+        ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'涓婚敭',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'绉熸埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'tenant_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'dept_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'user_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鎺掑簭鍙�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'order_num'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'key閿�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'test_key'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍊�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'value'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐗堟湰',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'version'
+GO
+
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'create_dept'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo',
+    'COLUMN', N'del_flag'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'娴嬭瘯鍗曡〃',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_demo'
+GO
+
+CREATE TABLE test_tree
+(
+    id          bigint               NOT NULL,
+    tenant_id   nvarchar(20)         DEFAULT ('000000') NULL,
+    parent_id   bigint DEFAULT ((0)) NULL,
+    dept_id     bigint               NULL,
+    user_id     bigint               NULL,
+    tree_name   nvarchar(255)        NULL,
+    version     int    DEFAULT ((0)) NULL,
+    create_dept bigint               NULL,
+    create_time datetime2(0)         NULL,
+    create_by   bigint               NULL,
+    update_time datetime2(0)         NULL,
+    update_by   bigint               NULL,
+    del_flag    int    DEFAULT ((0)) NULL,
+    CONSTRAINT PK__test_tre__3213E83FC75A1B63 PRIMARY KEY CLUSTERED (id)
+        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+        ON [PRIMARY]
+)
+ON [PRIMARY]
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'涓婚敭',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'绉熸埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'tenant_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐖秈d',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'parent_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'閮ㄩ棬id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'dept_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐢ㄦ埛id',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'user_id'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍊�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'tree_name'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鐗堟湰',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'version'
+GO
+
+EXEC sys.sp_addextendedproperty
+    'MS_Description', N'鍒涘缓閮ㄩ棬' ,
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'create_dept'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'create_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒涘缓浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'update_time'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鏇存柊浜�',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'update_by'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'鍒犻櫎鏍囧織',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree',
+    'COLUMN', N'del_flag'
+GO
+
+EXEC sp_addextendedproperty
+    'MS_Description', N'娴嬭瘯鏍戣〃',
+    'SCHEMA', N'dbo',
+    'TABLE', N'test_tree'
+GO
+
+INSERT test_demo VALUES (1, N'000000', 102, 4, 1, N'娴嬭瘯鏁版嵁鏉冮檺', N'娴嬭瘯', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (2, N'000000', 102, 3, 2, N'瀛愯妭鐐�1', N'111', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (3, N'000000', 102, 3, 3, N'瀛愯妭鐐�2', N'222', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (4, N'000000', 108, 4, 4, N'娴嬭瘯鏁版嵁', N'demo', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (5, N'000000', 108, 3, 13, N'瀛愯妭鐐�11', N'1111', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (6, N'000000', 108, 3, 12, N'瀛愯妭鐐�22', N'2222', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (7, N'000000', 108, 3, 11, N'瀛愯妭鐐�33', N'3333', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (8, N'000000', 108, 3, 10, N'瀛愯妭鐐�44', N'4444', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (9, N'000000', 108, 3, 9, N'瀛愯妭鐐�55', N'5555', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (10, N'000000', 108, 3, 8, N'瀛愯妭鐐�66', N'6666', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (11, N'000000', 108, 3, 7, N'瀛愯妭鐐�77', N'7777', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (12, N'000000', 108, 3, 6, N'瀛愯妭鐐�88', N'8888', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_demo VALUES (13, N'000000', 108, 3, 5, N'瀛愯妭鐐�99', N'9999', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+
+INSERT test_tree VALUES (1, N'000000', 0, 102, 4, N'娴嬭瘯鏁版嵁鏉冮檺', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (2, N'000000', 1, 102, 3, N'瀛愯妭鐐�1', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (3, N'000000', 2, 102, 3, N'瀛愯妭鐐�2', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (4, N'000000', 0, 108, 4, N'娴嬭瘯鏍�1', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (5, N'000000', 4, 108, 3, N'瀛愯妭鐐�11', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (6, N'000000', 4, 108, 3, N'瀛愯妭鐐�22', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (7, N'000000', 4, 108, 3, N'瀛愯妭鐐�33', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (8, N'000000', 5, 108, 3, N'瀛愯妭鐐�44', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (9, N'000000', 6, 108, 3, N'瀛愯妭鐐�55', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (10, N'000000', 7, 108, 3, N'瀛愯妭鐐�66', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (11, N'000000', 7, 108, 3, N'瀛愯妭鐐�77', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (12, N'000000', 10, 108, 3, N'瀛愯妭鐐�88', 0, 103, getdate(), 1, NULL, NULL, 0);
+GO
+INSERT test_tree VALUES (13, N'000000', 10, 108, 3, N'瀛愯妭鐐�99', 0, 103, getdate(), 1, NULL, NULL, 0);
 GO

--
Gitblit v1.9.3