diff --git "a/deploy-manifests/k8s-rancher/0.0.1.\345\237\272\347\241\200\346\225\260\346\215\256\350\277\201\347\247\273.md" "b/deploy-manifests/k8s-rancher/0.0.1.\345\237\272\347\241\200\346\225\260\346\215\256\350\277\201\347\247\273.md"
new file mode 100644
index 0000000..179bacb
--- /dev/null
+++ "b/deploy-manifests/k8s-rancher/0.0.1.\345\237\272\347\241\200\346\225\260\346\215\256\350\277\201\347\247\273.md"
@@ -0,0 +1,302 @@
+## 旧数据迁移到开发平台
+
+<br>
+
+### 1. 服务数据
+
+    来源：
+        POA 中已经存在的 service、version、spec、scope 等数据，需要在开放平台中插入对应的数据。
+
+#### 1.1迁移服务：
+        将POA 中现有的 服务，导入开放平台的服务
+
+#### 具体操作：
+
+     USE platform_openapi;
+
+    SELECT * FROM SERVICE;
+
+    根据上面查询结果，来进行下面的插入操作,对应的字段做修改：
+
+    Use develop_center;
+
+    INSERT INTO `TB_DEV_SERVICE` (`ID`, `NAME`, `DESCRIPTION`, `ORIGIN`, `SYSTEM_ID`) 
+    VALUES (-ID-, -NAME-, -DESCRIPTION-, -ORIGIN-, -'1'-);
+
+        创建服务也可以参考使用以下语句：
+            SELECT CONCAT('INSERT INTO \`TB_DEV_SERVICE\` (ID,DELETED, NAME, DESCRIPTION, ORIGIN, SYSTEM_ID) 
+		    VALUES','(\'', ID,  '\',\'0\',\'', NAME, '\',\'', DESCRIPTION, '\',\'', ORIGIN, '\',\'','1','\');') INFO
+            FROM SERVICE;
+
+        这个语句对查询结果做了拼接，可以拿来直接使用
+
+    设置此服务的管理员和开发者，也可以不在这里设置开发者和管理员，在2.4.1来统一设置：
+
+    INSERT INTO `TB_DEV_SERVICE_DEVELOPER` (`ID`, `DELETED`, `SERVICE_ID`, `DEVELOPER_ID`) 
+    VALUES (-ID-, -DELETED- ,-SERVICE_ID-, '150');
+
+    INSERT INTO `TB_DEV_SERVICE_OPERATOR` (`ID`, `DELETED`, `SERVICE_ID`, `OPERATOR_ID`) 
+    VALUES (-ID-, -DELETED- ,-SERVICE_ID-, '151');  
+
+#### 1.2迁移spec：
+        将POA 中现有的 spec，导入开放平台的spec
+
+#### 具体操作：
+
+    查询服务的spec信息
+
+    USE platform_openapi;
+    SELECT SERVICE_ID,API_VERSION,EDIT_VERSION 
+    FROM API_SPEC
+    WHERE SERVICE_ID = -SERVICE_ID-;
+
+    根据查询结果插入以下数据：
+
+    USER develop_center;
+    INSERT INTO `TB_DEV_SERVICE_SPEC` (`ID`, `SERVICE_ID`, `API_VERSION`, `EDIT_VERSION`) 
+    VALUES (-ID-, -SERVICE_ID-, -API_VERSION-, -EDIT_VERSION-);
+
+    TB_DEV_SERVICE_SPEC表中SCOPE_COUNT 列内容的设置：
+
+        services/{serviceId}/apiVersions/{apiVersion}/apiSpecs/scopes
+        根据返回值设置SCOPE_COUNT;
+
+#### 1.3迁移scope：
+        将POA 中现有的 scope，导入开放平台的scope
+
+#### 具体操作：
+
+    USE platform_openapi;
+    SELECT * FROM API_VERSION
+    WHERE SERVICE_ID = 'admincenter';
+    取结果中的SERVICE_ID,PUBLISHED,API_VERSION
+
+
+    根据查询结果访问
+        services/{serviceId}/apiVersions/{apiVersion}/apiSpecs/scopes
+
+    获取scope的name 和description。
+
+    INSERT INTO `TB_DEV_SERVICE_SCOPE` (`ID`, `COMPANY_ID`, `DELETED`, `SERVICE_ID`, `NAME`, `PUBLISHED`, `DESCRIPTION`, `API_VERSION`) VALUES (-ID-, '1', '0', -SERVICE_ID-, -NAME-, -PUBLISHED-, -DESCRIPTION-, -API_VERSION-);
+
+### 2. 应用数据
+
+来源：
+    应用数据的来源主要有三部分：
+
+        认证服务中的 service
+        消息服务的 应用（accessApp）
+        POA 的 client
+
+说明：
+    需要将上述三类数据，整理为一份应用数据，对于有重复的应用数据，保留一份即可。建议先从认证服务的数据开始，认证服务中的应用数据比较全面。
+
+#### 2.1.1迁移cas 中的应用数据：
+        数据从 TB_SERVICE 表中获取。
+
+#### 2.1.2具体操作：
+
+    #### 创建应用
+
+    USE cas_server;
+    SELECT S.NAME, S.DESCRIPTION, S.INFORMATION_URL,S.APPLICATION_ID APPLICATION_IDENTIFICATION
+    FROM TB_SERVICE S
+    WHERE S.DELETED = 0;
+    
+    根据上面的查询结果，在开放平台数据库中创建应用：
+    USE develop_center;
+
+    INSERT INTO `TB_DEV_APPLICATION` (`ID`, `NAME`, `DESCRIPTION`, `URL`, `SYSTEM_ID`, `APPLICATION_IDENTIFICATION`) VALUES (-ID-, -NAME-, -DESCRIPTION-, -URL-, '1', -APPLICATION_IDENTIFICATION-)；
+
+
+    建应用也可以参考使用以下语句：
+    SELECT CONCAT('INSERT INTO \`TB_DEV_APPLICATION\` (ID, DELETED, NAME, DESCRIPTION, URL, SYSTEM_ID, APPLICATION_IDENTIFICATION) 
+    VALUES','(\'', ID, '\',\'1\',\'',NAME, '\',\'',DESCRIPTION,'\',\'', INFORMATION_URL,'\',\'','1', '\',\'',APPLICATION_ID , '\');')
+    FROM TB_SERVICE
+    WHERE DELETED = 0;  
+ 
+    这个语句对查询结果做了拼接，可以拿来直接使用，使用这个也需要考虑应用是否已经存在。
+
+
+    除了ID以外，其他字段一一对应。
+   
+
+#### 2.2.1迁移message 中的应用数据：
+
+    数据从 ACCESS_APP 表中获取。
+
+#### 2.2.2具体操作：
+
+    首先查询需要创建的应用：
+
+    USE message;
+    SELECT APP.NAME, APP.DESCRIPTION,APP.ENABLED,APP.APP_ID APPLICATION_IDENTIFICATION
+    FROM ACCESS_APP APP
+    WHERE DELETED = 0
+
+    在查询结果中，根据字段APPLICATION_IDENTIFICATION，在开放平台中对比，如果不存在此应用，那么需要创建应用，数据从上面查询中获取。
+
+    根据上面的查询结果，在开放平台数据库中创建应用：
+        USE develop_center;
+
+        INSERT INTO `TB_DEV_APPLICATION` (`ID`, `NAME`, `DESCRIPTION`, `SYSTEM_ID`, `APPLICATION_IDENTIFICATION`) VALUES (-ID-, -NAME-, -DESCRIPTION-, '1', -APPLICATION_IDENTIFICATION-)；
+
+        除了ID以外，其他字段一一对应。
+
+        创建应用也可以参考使用以下语句：
+            SELECT CONCAT('INSERT INTO \`TB_DEV_APPLICATION\` (ID,DELETED, NAME, DESCRIPTION, SYSTEM_ID, `APPLICATION_IDENTIFICATION`, URL) 
+			VALUES ','(\'',ID,'-message\',\'1\',\'',NAME,'\',\'', IFNULL(DESCRIPTION,''),'\',\'','1','\',\'',APP_ID,'\',\'',IFNULL(URL,''),'\');') INFO
+            FROM ACCESS_APP
+            WHERE DELETED = 0 AND APP_ID IS NOT NULL
+        这个语句对查询结果做了拼接，可以拿来直接使用，使用这个语句也需要考虑应用是否已经存在。
+
+    如果已经存在，那么不需要再添加。
+
+#### 2.3.1迁移platform_openapi 中的数据
+
+    根据 /clients 接口获取所有client 信息
+
+#### 2.3.2具体操作
+
+    根据 /clients 接口获取所有client 信息
+
+    根据返回数据中的clientName 来和应用表TB_DEV_APPLICATION 中的数据进行关联，对应表中的NAME;
+
+    如果应用表中没有的应用，需要进行创建：
+        USE develop_center;
+
+        INSERT INTO `TB_DEV_APPLICATION` (`ID`, `NAME`, `DESCRIPTION`, `SYSTEM_ID`, `APPLICATION_IDENTIFICATION`) VALUES (-ID-, -NAME-, -DESCRIPTION-, '1', -APPLICATION_IDENTIFICATION-)；
+
+#### 2.4为应用和服务设置管理员和开发者
+
+#### 2.4.1具体操作
+
+    SELECT CONCAT('INSERT INTO \`TB_DEV_APPLICATION_DEVELOPER\` (ID, DELETED, APPLICATION_ID, DEVELOPER_ID) 
+        VALUES','(\'',ID, '\',\'0' ,'\',\'',ID, '\',\'','150','\');') 
+    FROM TB_DEV_APPLICATION;
+
+    SELECT CONCAT('INSERT INTO \`TB_DEV_APPLICATION_OPERATOR\` (ID, DELETED, APPLICATION_ID, OPERATOR_ID) 
+        VALUES','(\'',ID,'\',\'0' ,'\',\'',ID, '\',\'','151','\');') 
+    FROM TB_DEV_APPLICATION;
+
+    SELECT CONCAT('INSERT INTO \`TB_DEV_SERVICE_DEVELOPER\` (ID, DELETED, SERVICE_ID, DEVELOPER_ID) 
+        VALUES','(\'',ID, '\',\'0' ,'\',\'',ID, '\',\'','150','\');') 
+    FROM TB_DEV_SERVICE;
+
+    SELECT CONCAT('INSERT INTO \`TB_DEV_SERVICE_OPERATOR\` (ID, DELETED, SERVICE_ID, OPERATOR_ID) 
+        VALUES','(\'',ID, '\',\'0' ,'\',\'',ID, '\',\'','151','\');') 
+    FROM TB_DEV_SERVICE;
+
+    这个语句对查询结果做了拼接，结果是对应用的开发者和管理员，服务的开发者和管理员进行插入数据的语句。
+
+    如果有ID重复时，需要手动去修改ID，防止重复。
+
+
+
+### 3. 基础能力数据
+
+数据来源：
+
+    1.认证服务的 service
+    2.消息服务的应用
+    3.POA 中 client 的scope 
+
+说明：
+    1.认证服务的 service ，已经在之前创建了对应的应用，也需要给此应用对应开通 CAS认证基础能力。
+    2.消息服务的应用，已经在之前创建了对应的应用，也需要给此应用对应开通消息基础能力。
+    3.POA 中 client 申请了 scope ，之前已经创建了对应的应用，也需要给次应用对应开通平台OpenAPI基础能力。同时在开放平台中添加应用和scope的关系。
+
+#### 3.1添加应用的CAS基础能力
+
+    先根据开放平台中所选应用的APPLICATION_IDENTIFICATION 字段，在cas数据库中查询基础能力信息：
+
+    USE cas_server;
+    SELECT S.LOGOUT_TYPE, S.APPLICATION_DOMAIN, S.ADD_TIME,
+		S.DESCRIPTION, S.EXTERNAL_ID, S.INFORMATION_URL, S.ENABLED, S.REGISTERED_SERVICE_ID,
+		S.COMPANY_ID, S.RESPONSE_TYPE, S.DELETED, S.SSO_ENABLED, S.LOGOUT_URL, S.NAME,
+		S.ADD_ACCOUNT, S.APPLICATION_ID, S.SERVICE_ID
+    FROM TB_SERVICE S
+    WHERE S.DELETED = 0
+    AND S.APPLICATION_ID = -APPLICATION_IDENTIFICATION-;
+
+    查询结果放入下面的ABILITY_SETTINGS 字段中。
+
+    下面插入数据中，APPLICATION_ID 对应所选应用的ID
+    USE develop_center;
+    INSERT INTO `TB_DEV_APPLICATION_ABILITY_USAGE` (`ID`, `COMPANY_ID`, `DELETED`, `APPLICATION_ID`, `ABILITY_ID`, `APPLY_TIME`,ABILITY_SETTINGS) VALUES (-ID-, '1', '0', -APPLICATION_ID-, 'cas', '2020-12-22 15:32:43',-ABILITY_SETTINGS-);
+
+    -ABILITY_SETTINGS- 内容：
+    {
+        "logoutType": "",
+        "applicationDomain": "",
+        "addTime": 1608538919314,
+        "description": "",
+        "externalId": "",
+        "informationUrl": "",
+        "enabled": true,
+        "registeredServiceId": 10060,
+        "companyId": "",
+        "responseType": "",
+        "deleted": false,
+        "ssoEnabled": true,
+        "logoutUrl": "",
+        "name": "",
+        "id": "",
+        "addAccount": "",
+        "applicationId": "",
+        "serviceId": "",
+        "requireAllAttributes": true
+    }
+    利用上面的查询将对应内容置换。
+
+    可以使用下面的查询语句生成 sql拼接语句来进行插入：
+
+    SELECT CONCAT(
+            'INSERT INTO \`TB_DEV_APPLICATION_ABILITY_USAGE\` 
+            (ID, COMPANY_ID, DELETED, APPLICATION_ID, ABILITY_ID, APPLY_TIME,ABILITY_SETTINGS) 
+            VALUES (','\'',ID,'cas','\',\'',' 1\', \'0','\',\'', ID,'\',\'', 'cas\', \'2020-12-22 15:32:43\',\'',
+        '{"logoutType":"',IFNULL(LOGOUT_TYPE,''),'","applicationDomain":"',IFNULL(APPLICATION_DOMAIN,''),'","addTime":1608538919314,"description":"',IFNULL(DESCRIPTION,''),
+        '","externalId":"',IFNULL(EXTERNAL_ID,''),'","informationUrl":"',IFNULL(INFORMATION_URL,''),'","enabled":true,"registeredServiceId":',IFNULL(REGISTERED_SERVICE_ID,''),
+        ',"companyId":"1","responseType":"',RESPONSE_TYPE,'","deleted":false,"ssoEnabled":',IF(SSO_ENABLED = 1,'true','false'),',"idTokenEnabled":',IF(ID_TOKEN_ENABLED = 1,'true','false'),
+        ',"jwtAsServiceTicket":',IF(JWT_AS_SERVICE_TICKET = 1,'true','false'),',"logoutUrl":"',IFNULL(LOGOUT_URL,''),'","name":"',NAME,
+        '","id":"',ID,'","addAccount":"admin","applicationId":"',IFNULL(APPLICATION_ID,''),'","serviceId":"',IFNULL(SERVICE_ID,''),'","requireAllAttributes":',IFNULL(REQUIRE_ALL_ATTRIBUTES,'1'),'}'
+        '\');'
+        )
+    FROM TB_SERVICE
+    WHERE DELETED = '0';
+
+
+#### 3.2添加应用的MESSAGE基础能力
+
+    先根据开放平台中所选应用的APPLICATION_IDENTIFICATION 字段，在message数据库中查询基础能力信息：
+
+    USE develop_center;
+    INSERT INTO `TB_DEV_APPLICATION_ABILITY_USAGE` (`ID`, `COMPANY_ID`, `DELETED`, `APPLICATION_ID`, `ABILITY_ID`, `APPLY_TIME`) VALUES (-ID-, '1', '0', -APPLICATION_ID-, 'message', '2020-12-31 15:32:43');    
+
+
+#### 3.3.1添加应用的openapi基础能力。
+
+    根据 /clients 接口获取所有client 信息,主要是clientId,来添加应用的基础能力信息。需要替换对应的clientId信息。
+
+    USE develop_center;
+    INSERT INTO `TB_DEV_APPLICATION_ABILITY_USAGE` (`ID`, `COMPANY_ID`, `DELETED`, `APPLICATION_ID`, `ABILITY_ID`, `APPLY_TIME`,`ABILITY_SETTINGS`) VALUES (-ID-, '1', '0', -APPLICATION_ID-, 'platformApi', '2020-12-31 15:32:43','{\"clientId\":\"id123\"}');    
+
+
+#### 3.3.2添加应用的scope。
+
+    根据 /clients 接口获取所有client 信息，可以看到此应用关联的scopes 列表。
+
+    根据scope名称来查询开放平台中的scope:
+        SELECT S.ID
+        FROM TB_DEV_SERVICE_SCOPE S
+        WHERE S.NAME = -name-;
+
+    根据上面的应用id和scope的Id使用下面插入语句插入数据：
+
+    INSERT INTO `TB_DEV_APPLICATION_SCOPE_USAGE` (`ID`, `APPLICATION_ID`, `ABILITY_ID`, `SCOPE_ID`, `APPLY_TIME`) VALUES (-ID-, -APPLICATION_ID-, 'platformApi', -SCOPE_ID-, '2020-12-31 11:33:19');
+
+
+
+
+
+
