您可以设法仅使用QSqlDatabase
提供的功能(通过tables()
和records
函数作为起点)以通用方式导出简单表格,但目前为止据我所知,您需要使用特定于数据库的查询来获取完整的架构信息。
在我看来,最好用您特定的数据库实现工具完成。例如,SQLite有一个.dump
命令可以做到这一点。 MySQL有一个专用的mysqldump
实用程序。 PostgreSQL有pg_dump
等等......
为您的特定引擎使用预先构建的工具更安全。让所有DDL语句正确,在正确的时间插入密钥和触发器,担心编码,......是一项非常重要的任务。