3 个版本

0.4.4 2024 年 4 月 19 日
0.4.2 2024 年 3 月 23 日
0.4.1 2024 年 3 月 21 日

762数据库接口

Download history 1/week @ 2024-04-25

每月下载量 195

MIT 许可证

28KB
598

Tauri 插件 Rusqlite

此插件允许在 Tauri 应用程序中访问 SQLite 数据库。它灵感来自 tauri-plugin-sqlite 插件,但基于 rusqlite

示例

npm run tauri dev

安装

Rust

  • 进入项目结构中的 src-tauri 目录。

  • 执行以下命令将 tauri-plugin-rusqlite 添加到项目依赖项

cargo add tauri-plugin-rusqlite
  • 打开位于项目 src-tauri/src 目录中的 main.rs 文件。修改 main 函数以包含插件初始化代码。
fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_rusqlite::init()) // add this
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

Webview

  • 导航到源代码的根目录。

  • 在您的终端中执行以下命令

npm i tauri-plugin-rusqlite-api

用法

导入插件

import Rusqlite from 'tauri-plugin-rusqlite-api'

打开数据库

const database = await Rusqlite.openInMemory("test.db");

const database = await Rusqlite.openInPath("./folder/test.db");

初始化数据库

let scripts = [{
    name: "create_table", 
    sql: "CREATE TABLE test (id INTEGER PRIMARY KEY, integer_value INTEGER, real_value REAL, text_value TEXT, blob_value BLOB); CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT NOT NULL);"
}];
await database.migration(scripts);

await database.batch(
    "CREATE TABLE test (id INTEGER PRIMARY KEY, integer_value INTEGER, real_value REAL, text_value TEXT, blob_value BLOB); CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT NOT NULL);");

删除表

await database.batch("DROP TABLE test;");

插入或更新

await database.update("INSERT INTO test (integer_value, real_value, text_value, blob_value) VALUES (:integer_value, :real_value, :text_value, :blob_value)", 
new Map([
    [":integer_value", parseInt(target.integer_value.value)], 
    [":real_value", parseFloat(target.real_value.value)], 
    [":text_value", target.text_value.value],
    [":blob_value", target.blob_value.value]
]));

选择

let result = await database.select("SELECT * FROM test", new Map());
...
result.map((item) => {
    return {
        id: item.id,
        ...
    };
});

关闭数据库

await database.close();

许可证

MIT

依赖项

41–84MB ~
~1.5M SLoC