Navicat在结构同步时的注意事项
涉及到列名修改时,不要使用Navicat结构同步工具
- 本地环境的表结构如下
id | phone | invite_code |
---|---|---|
1 | 123-456-789 | ABC123 |
2 | 987-654-321 | DEF456 |
3 | 555-555-555 | GHI789 |
- 生产环境的表结构如下
id | phone | user_id |
---|---|---|
1 | 123-456-789 | ABC123 |
2 | 987-654-321 | DEF456 |
3 | 555-555-555 | GHI789 |
- 若此时使用Navicat提供的结构同步工具,实际上执行的命令会是将原有的列删除,然后再新增,会导致该列的内容完全丢失
1 | ALTER TABLE `user_info` DROP COLUMN `invite_code`; |
- 若仅修改字段名,建议使用RENAME命令
1 | ALTER TABLE user_info |
- 若还涉及到字段定义修改,建议使用CHANGE COLUMN命令
1 | ALTER TABLE user_info |
评论