QT Creator 将 SQLite 复制为空数据库
QT Creator copies SQLite as empty database
我的 QT Creator 应用程序文件夹中有一个 sqlite 文件。我什至做了项目(右键单击)-> 添加现有文件,并将其添加到我的项目中。该文件被复制到构建目录。但是,它不包含任何表或数据。我需要我的数据库文件中的数据在复制过程中保持不变。有什么办法可以确保这一点吗?
发生的情况是数据库未被复制,因为将其附加到 .pro 并不意味着它将被移动到构建文件夹。
那为什么build文件夹里有.db?
sqlite 如果找不到 .db,它会创建它,所以你得到空文件。
解决方案是执行您复制的命令:
COPY_CONFIG = mydatabase.db
copy_cmd.input = COPY_CONFIG
copy_cmd.output = ${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT}
copy_cmd.commands = $$QMAKE_COPY_DIR ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
copy_cmd.CONFIG += no_link_no_clean
copy_cmd.variable_out = PRE_TARGETDEPS
QMAKE_EXTRA_COMPILERS += copy_cmd
我的 QT Creator 应用程序文件夹中有一个 sqlite 文件。我什至做了项目(右键单击)-> 添加现有文件,并将其添加到我的项目中。该文件被复制到构建目录。但是,它不包含任何表或数据。我需要我的数据库文件中的数据在复制过程中保持不变。有什么办法可以确保这一点吗?
发生的情况是数据库未被复制,因为将其附加到 .pro 并不意味着它将被移动到构建文件夹。
那为什么build文件夹里有.db?
sqlite 如果找不到 .db,它会创建它,所以你得到空文件。
解决方案是执行您复制的命令:
COPY_CONFIG = mydatabase.db
copy_cmd.input = COPY_CONFIG
copy_cmd.output = ${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT}
copy_cmd.commands = $$QMAKE_COPY_DIR ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
copy_cmd.CONFIG += no_link_no_clean
copy_cmd.variable_out = PRE_TARGETDEPS
QMAKE_EXTRA_COMPILERS += copy_cmd