问题
我有一个很大的sqlite数据库(~ 300 mb),我想用它来为我的应用程序加载种子,并存储到文件系统以使用sqlite查询。对于上下文,它是一个语言字典应用程序。
我环顾四周,没有找到一个适合我情况的解决方案。理想情况下,我知道我可以使用@capacitor-community/sqlite"
插件中的importFromJson
函数。
这个问题是,文件似乎太大+无法找到适用的示例来正确实现,因为这对我来说都是新的。
我正在遵循这个例子:https://github.com/jepiqueau/react-sqlite-app-starter/blob/02809174e3b5bb355e506ed3bf20e1a92c74f860/src/pages/Tab1.tsx#L22const retImport: any = await sqlite.importFromJson(JSON.stringify(jsonImport));
如果我对数据进行字符串化,我确信这是行不通的,因为数据会消耗太多的资源。
预期结果
我希望能够导入大型(~ 300 MB)sqlite或JSON文件来为我的react ionic数据库提供种子,以便与Sqlite一起使用。
有没有一种方法,我可以流的json文件,上传它在块?我知道如何处理fs
,但我不知道如何处理react native + ionic + @capacitor-community/sqlite。
1条答案
按热度按时间deikduxw1#
好的!所以我解决了这个问题,使用capacitor sqlite社区插件为react ionic native导入.sqlite db转储。
如何导入和使用.sqlite文件
1.从
sqlite3
数据库导出文件1.将该文件作为
<name>.db
复制到public/assets/databases
文件夹中。**确保将扩展名更改为.db
**并在同一目录下的databases.json
文件中添加定义{“databaseList”:[“test_db.db”] }
1.在通过名称连接到数据库之前,请在从
App.tsx
文件导入import { sqlite, existingConn } from '../App';
之后使用函数await sqlite.copyFromAssets();
,如我之前链接的样板中所述。请参考App.tsx + Index.tsx
文件。1.创建连接并连接到数据库
1.然后,假设您知道要查询的表的名称,您应该能够查询这个数据库。