“从数据库导入”是唯一可行路径,Navicat Premium 不支持直接导出数据库为 .ndm 模型文件;必须通过该向导连接真实数据库、读取系统表元数据动态构建模型,并勾选 Foreign keys、Indexes、Comments 等关键选项以确保完整性。

“从数据库导入”是唯一可行路径
Navicat Premium 不支持直接把数据库结构“另存为模型文件”或“导出为 .ndm”,模型(.ndm)必须通过「从数据库导入」向导生成。这个动作本质是让 Navicat 连接真实数据库,读取 INFORMATION_SCHEMA 或系统视图,动态构建实体、字段、主键、外键、索引等元数据对象。纯结构导出(如右键 → 转储 SQL)只产生文本,无法触发模型创建流程。
执行前必须确认三件事
跳过任一检查都可能导致模型缺失表、断开外键线、或字段类型显示为 UNKNOWN:
- 目标数据库连接已启用并能正常查询——在连接上右键 → 「测试连接」必须成功,且用户有
SELECT权限访问INFORMATION_SCHEMA.TABLES等系统表 - 数据库字符集设为
utf8mb4(尤其含中文/emoji 时),否则字段注释可能乱码,模型里显示为空或问号 - 若原库含视图、存储过程、函数,默认不进模型——需在「从数据库导入」向导的「高级」页勾选对应选项,否则它们不会出现在模型对象列表中
导入时关键参数别设错
「从数据库导入」向导里几个选项直接影响模型完整性:
-
Foreign keys:必须勾选,否则外键关系不会生成连线,ER 图变成一堆孤立表 -
Indexes:勾选后主键、唯一索引、普通索引才会以图标形式标注在字段旁 -
Comments:勾选才能把字段COMMENT和表注释同步进模型,否则所有注释丢失 -
Collation:建议勾选,否则同名字段在不同排序规则下可能被识别为不兼容,导致外键匹配失败
导入完成后,模型里每张表右键 → 「编辑表」可验证字段类型、长度、是否允许 NULL、默认值是否准确还原——这是最容易被忽略的验证点,尤其 TINYINT(1) 是否被识别为布尔、JSON 字段是否保留类型而非降级成 TEXT。











