在通过App Store进行应用更新期间,我想更新包含更多内容的SQLite数据库文件。
旧的SQLite文件位于我的应用程序的Documents
文件夹中。
我该如何处理?
答案 0 :(得分:1)
sqlite> attach 'path_to_table.db3' as toMerge;
sqlite> insert into MyTableToInsertTo select * from toMerge.MyTableToInsertFrom;
sqlite> detach database toMerge;
使用BEGIN;承诺;对于大数据
答案 1 :(得分:1)
我假设您没有使用Core Data,否则您将使用自动迁移功能。对于直接SQLLite,您将需要创建一个新的数据库文件。然后,根据架构更改的性质,您可以执行查询以复制数据(using INSERT INTO destination SELECT * FROM source
)。但是,如果使用一组简单的查询来处理更改太多,例如,如果它涉及业务逻辑,那么您可能需要编写一个脚本来将旧数据从一个数据库转换为新数据。