diff --git a/sql/base.sql b/sql/base.sql
index 09f8725..a7bdfb8 100644
--- a/sql/base.sql
+++ b/sql/base.sql
@@ -1,5 +1,80 @@
 
 
+CREATE TABLE `TB_BASE_APPLICATION` (
+  `ID` VARCHAR(100) NOT NULL COMMENT '',
+  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
+  `DELETED` INT(1) COMMENT '是否删除',
+  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
+  `ADD_TIME` DATETIME COMMENT '创建时间',
+  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
+  `EDIT_TIME` DATETIME COMMENT '修改时间',
+  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
+  `DELETE_TIME` DATETIME COMMENT '删除时间',
+
+  `CODE` VARCHAR(200) NOT NULL COMMENT '代码',
+  `NAME` VARCHAR(200) NOT NULL COMMENT '名称',
+  `MEMO` VARCHAR(500) COMMENT '备注',
+  `STATUS` VARCHAR(10) NOT NULL COMMENT '状态（1 启用，0 停用）',
+
+  `URL` VARCHAR(500) COMMENT '系统地址',
+
+  `SPI_URL_PREFIX` VARCHAR(500) COMMENT '同步接口服务（用于同步菜单）',
+
+  PRIMARY KEY (`ID`),
+  UNIQUE KEY `UQ_CODE` (`COMPANY_ID`,`CODE`)
+)
+COMMENT = '系统信息表';
+
+
+insert into TB_BASE_APPLICATION (ID, DELETED, CODE, NAME, STATUS) 
+values ('1', 0, 'admin', '树维管理后台', '1');
+
+commit;
+
+
+
+CREATE TABLE `TB_BASE_ROUTE` (
+  `ID` VARCHAR(100) NOT NULL COMMENT '',
+  `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
+  `DELETED` INT(1) COMMENT '是否删除',
+  `ADD_ACCOUNT` VARCHAR(100) COMMENT '创建人',
+  `ADD_TIME` DATETIME COMMENT '创建时间',
+  `EDIT_ACCOUNT` VARCHAR(100) COMMENT '修改人',
+  `EDIT_TIME` DATETIME COMMENT '修改时间',
+  `DELETE_ACCOUNT` VARCHAR(100) COMMENT '删除人',
+  `DELETE_TIME` DATETIME COMMENT '删除时间',
+
+  `CODE` VARCHAR(200) NOT NULL COMMENT '代码',
+  `NAME` VARCHAR(200) NOT NULL COMMENT '名称',
+  `MEMO` VARCHAR(500) COMMENT '备注',
+  `STATUS` VARCHAR(10) NOT NULL COMMENT '状态（1 启用，0 停用）',
+
+  `URI` VARCHAR(500) NOT NULL COMMENT '路由地址',
+
+  `PATH_PREFIX` VARCHAR(100) NOT NULL COMMENT '路径前缀',
+
+  PRIMARY KEY (`ID`),
+  UNIQUE KEY `UQ_CODE` (`COMPANY_ID`,`CODE`)
+)
+COMMENT = '路由信息表';
+
+
+
+insert into TB_BASE_ROUTE (ID, DELETED, CODE, NAME, STATUS, URI, PATH_PREFIX) 
+values ('10', 0, 'aggr-api', '管理服务 - 聚合接口', '1', 'http://localhost:8081', '/api/aggr');
+
+insert into TB_BASE_ROUTE (ID, DELETED, CODE, NAME, STATUS, URI, PATH_PREFIX) 
+values ('11', 0, 'base-api', '管理服务 - 基础接口', '1', 'http://localhost:8082', '/api/base');
+insert into TB_BASE_ROUTE (ID, DELETED, CODE, NAME, STATUS, URI, PATH_PREFIX) 
+values ('12', 0, 'system-api', '管理服务 - 系统接口', '1', 'http://localhost:8082', '/api/system');
+insert into TB_BASE_ROUTE (ID, DELETED, CODE, NAME, STATUS, URI, PATH_PREFIX) 
+values ('13', 0, 'biz-api', '管理服务 - 业务接口', '1', 'http://localhost:8082', '/api/biz');
+
+commit;
+
+
+
+
 CREATE TABLE `TB_BASE_ACCOUNT` (
   `ID` VARCHAR(100) NOT NULL COMMENT '',
   `COMPANY_ID` VARCHAR(100) COMMENT 'CompanyID',
@@ -156,6 +231,7 @@
   `TYPE_` VARCHAR(10) NOT NULL COMMENT '类型（1 应用，2 菜单，3 操作）',
   `URL` VARCHAR(500) COMMENT 'URL地址',
 
+  `APPLICATION_ID` VARCHAR(100) COMMENT '系统ID', 
   `PARENT_ID` VARCHAR(100) NOT NULL COMMENT '父级ID', 
   `ORDER_` INT(11) NOT NULL COMMENT '排序',
   `LEVEL_` INT(11) NOT NULL COMMENT '层次',
@@ -275,27 +351,28 @@
 commit;
 
 
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('1', 0, 'admin', '树维管理后台', '1', '1', '', '0', 1, 1, 1, 10);
 
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('10000', 0, 'admin.base', '基础管理', '1', '2', '', '1', 10000, 1, 1, 14);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('1', 0, 'admin', '树维管理后台', '1', '1', '', '1', '0', 1, 1, 1, 10);
 
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('10100', 0, 'admin.base.account', '帐号管理', '1', '2', '', '10000', 10100, 2, 2, 3);
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('10200', 0, 'admin.base.group', '用户组管理', '1', '2', '', '10000', 10200, 2, 4, 5);
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('10300', 0, 'admin.base.role', '角色管理', '1', '2', '', '10000', 10300, 2, 6, 7);
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('10400', 0, 'admin.base.menu', '菜单管理', '1', '2', '', '10000', 10400, 2, 8, 9);
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('10500', 0, 'admin.base.operation', '操作管理', '1', '2', '', '10000', 10500, 2, 10, 11);
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('10600', 0, 'admin.base.resource', '资源管理', '1', '2', '', '10000', 10600, 2, 12, 13);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('10000', 0, 'admin.base', '基础管理', '1', '2', '', '1', '1', 10000, 1, 1, 14);
 
-insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
-values ('20000', 0, 'admin.system', '系统管理', '1', '2', '', '1', 20000, 1, 1, 14);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('10100', 0, 'admin.base.account', '帐号管理', '1', '2', '', '1', '10000', 10100, 2, 2, 3);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('10200', 0, 'admin.base.group', '用户组管理', '1', '2', '', '1', '10000', 10200, 2, 4, 5);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('10300', 0, 'admin.base.role', '角色管理', '1', '2', '', '1', '10000', 10300, 2, 6, 7);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('10400', 0, 'admin.base.menu', '菜单管理', '1', '2', '', '1', '10000', 10400, 2, 8, 9);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('10500', 0, 'admin.base.operation', '操作管理', '1', '2', '', '1', '10000', 10500, 2, 10, 11);
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('10600', 0, 'admin.base.resource', '资源管理', '1', '2', '', '1', '10000', 10600, 2, 12, 13);
+
+insert into TB_BASE_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT) 
+values ('20000', 0, 'admin.system', '系统管理', '1', '2', '', '1', '1', 20000, 1, 1, 14);
 
 commit;
 
