## 0. å‹æƒ…æ示 在 `sql/tools` 目录下,我们æ供一些数æ®åº“相关的工具,包括测试数æ®åº“的快速å¯åŠ¨ã€MySQL 转æ¢å…¶å®ƒæ•°æ®åº“ç‰ç‰ã€‚ 注æ„ï¼æ‰€æœ‰çš„æ“作,必须在 `sql/tools` 目录下执行。 ## 1. 测试数æ®åº“的快速å¯åŠ¨ 基于 Docker Compose,快速å¯åŠ¨ MySQLã€Oracleã€PostgreSQLã€SQL Server ç‰æ•°æ®åº“。 注æ„ï¼ä½¿ç”¨ Docker Compose å¯åŠ¨å®Œæµ‹è¯•æ•°æ®åŽï¼Œå› 为会自动导入项目的 SQL 脚本,所以å¯èƒ½éœ€è¦ç‰å¾… 1-2 分钟。 ### 1.1 MySQL ```Bash docker compose up -d mysql ``` #### 1.2 Oracle ```Bash docker compose up -d oracle ``` æš‚ä¸æ”¯æŒ MacBook Apple Siliconï¼Œå› ä¸º Oracle 官方没有æä¾› Apple Silicon 版本的 Docker é•œåƒã€‚ ### 1.3 PostgreSQL ```Bash docker compose up -d postgres ``` ### 1.4 SQL Server ```Bash docker compose up -d sqlserver # 注æ„:å¯åŠ¨å®Œ sqlserver åŽï¼Œéœ€è¦æ‰‹åŠ¨å†æ‰§è¡Œå¦‚ä¸‹å‘½ä»¤ï¼Œå› ä¸º SQL Server ä¸æ”¯æŒåˆå§‹åŒ–脚本 docker compose exec sqlserver bash /tmp/create_schema.sh ``` æš‚ä¸æ”¯æŒ MacBook Apple Siliconï¼Œå› ä¸º SQL Server 官方没有æä¾› Apple Silicon 版本的 Docker é•œåƒã€‚ ### 1.5 DM 达梦 ①下载达梦 Docker é•œåƒï¼šhttps://download.dameng.com/eco/dm8/dm8_20230808_rev197096_x86_rh6_64_single.tar â‘¡ åŠ è½½é•œåƒæ–‡ä»¶ï¼Œåœ¨é•œåƒ tar 文件所在目录è¿è¡Œï¼š ```Bash docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar ```` â‘¢ 在项目 `sql/tools` 目录下è¿è¡Œï¼š ```Bash docker compose up -d dm8 # 注æ„:å¯åŠ¨å®Œ dm åŽï¼Œéœ€è¦æ‰‹åŠ¨å†æ‰§è¡Œå¦‚ä¸‹å‘½ä»¤ï¼Œå› ä¸º dm ä¸æ”¯æŒåˆå§‹åŒ–脚本 docker compose exec dm8 bash -c "exec /opt/dmdbms/bin/disql SYSDBA/SYSDBA001 \`/tmp/schema.sql" exit ``` **注æ„**: `sql/dm/ruoyi-vue-pro-dm8.sql` 文件编ç 必须为 `GBK` 或者 `GBK` 超集,å¦åˆ™ä¼šå‡ºçŽ°ä¸æ–‡ä¹±ç 。 æš‚ä¸æ”¯æŒ MacBook Apple Siliconï¼Œå› ä¸º 达梦 官方没有æä¾› Apple Silicon 版本的 Docker é•œåƒã€‚ ## 1.X 容器的销æ¯é‡å»º å¼€å‘测试过程ä¸ï¼Œæœ‰æ—¶å€™éœ€è¦åˆ›å»ºå…¨æ–°å¹²å‡€çš„æ•°æ®åº“ã€‚ç”±äºŽæµ‹è¯•æ•°æ® Docker 容器采用数æ®å· Volume 挂载数æ®åº“实例的数æ®ç›®å½•ï¼Œå› æ¤é”€æ¯æ•°æ®éœ€è¦åœæ¢å®¹å™¨åŽï¼Œåˆ 除数æ®å·ï¼Œç„¶åŽå†é‡æ–°åˆ›å»ºå®¹å™¨ã€‚ 以 postgres 为例,æ“作如下: ```Bash docker compose down postgres docker volume rm ruoyi-vue-pro_postgres ``` ## 2. MySQL 转æ¢å…¶å®ƒæ•°æ®åº“ ### 2.1 å®žçŽ°åŽŸç† é€šè¿‡è¯»å– MySQL çš„ `sql/mysql/ruoyi-vue-pro.sql` æ•°æ®åº“文件,转æ¢æˆ Oracleã€PostgreSQLã€SQL Server ç‰æ•°æ®åº“的脚本。 ### 2.2 使用方法 ①安装ä¾èµ–库 `simple-ddl-parser` ```bash pip install simple-ddl-parser # pip3 install simple-ddl-parser ``` â‘¡ 执行如下命令打å°ç”Ÿæˆ postgres 的脚本内容,其他å¯é€‰å‚数有:`oracle`ã€`sqlserver`ã€`dm8`: ```Bash python3 convertor.py postgres # python3 convertor.py postgres > tmp.sql ``` 程åºå°† SQL 脚本打å°åˆ°ç»ˆç«¯ï¼Œå¯ä»¥é‡å®šå‘到临时文件 `tmp.sql`。 ç¡®è®¤æ— è¯¯åŽï¼Œå¯ä»¥åˆ©ç”¨ IDEA è¿›è¡Œæ ¼å¼åŒ–。当然,也å¯ä»¥ç›´æŽ¥å¯¼å…¥åˆ°æ•°æ®åº“ä¸ã€‚