mirror of
https://github.com/tauri-apps/tauri-plugin-sql.git
synced 2026-01-31 00:35:18 +01:00
* chore: Add MSRV to all readmes * fix single-instance support matrix * wording * wording * typo Committed via a GitHub action: https://github.com/tauri-apps/plugins-workspace/actions/runs/4184387391
77 lines
2.4 KiB
Markdown
77 lines
2.4 KiB
Markdown

|
|
|
|
Interface with SQL databases through [sqlx](https://github.com/launchbadge/sqlx). It supports the `sqlite`, `mysql` and `postgres` drivers, enabled by a Cargo feature.
|
|
|
|
## Install
|
|
|
|
_This plugin requires a Rust version of at least **1.64**_
|
|
|
|
There are three general methods of installation that we can recommend.
|
|
|
|
1. Use crates.io and npm (easiest, and requires you to trust that our publishing pipeline worked)
|
|
2. Pull sources directly from Github using git tags / revision hashes (most secure)
|
|
3. Git submodule install this repo in your tauri project and then use file protocol to ingest the source (most secure, but inconvenient to use)
|
|
|
|
Install the Core plugin by adding the following to your `Cargo.toml` file:
|
|
|
|
`src-tauri/Cargo.toml`
|
|
|
|
```toml
|
|
[dependencies.tauri-plugin-sql]
|
|
git = "https://github.com/tauri-apps/plugins-workspace"
|
|
branch = "dev"
|
|
features = ["sqlite"] # or "postgres", or "mysql"
|
|
```
|
|
|
|
You can install the JavaScript Guest bindings using your preferred JavaScript package manager:
|
|
|
|
> Note: Since most JavaScript package managers are unable to install packages from git monorepos we provide read-only mirrors of each plugin. This makes installation option 2 more ergonomic to use.
|
|
|
|
```sh
|
|
pnpm add https://github.com/tauri-apps/tauri-plugin-sql
|
|
# or
|
|
npm add https://github.com/tauri-apps/tauri-plugin-sql
|
|
# or
|
|
yarn add https://github.com/tauri-apps/tauri-plugin-sql
|
|
```
|
|
|
|
## Usage
|
|
|
|
First you need to register the core plugin with Tauri:
|
|
|
|
`src-tauri/src/main.rs`
|
|
|
|
```rust
|
|
fn main() {
|
|
tauri::Builder::default()
|
|
.plugin(tauri_plugin_sql::Builder::default().build())
|
|
.run(tauri::generate_context!())
|
|
.expect("error while running tauri application");
|
|
}
|
|
```
|
|
|
|
Afterwards all the plugin's APIs are available through the JavaScript guest bindings:
|
|
|
|
```javascript
|
|
import Database from "tauri-plugin-sql-api";
|
|
|
|
// sqlite. The path is relative to `tauri::api::path::BaseDirectory::App`.
|
|
const db = await Database.load("sqlite:test.db");
|
|
// mysql
|
|
const db = await Database.load("mysql://user:pass@host/database");
|
|
// postgres
|
|
const db = await Database.load("postgres://postgres:password@localhost/test");
|
|
|
|
await db.execute("INSERT INTO ...");
|
|
```
|
|
|
|
## Contributing
|
|
|
|
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
|
|
|
|
## License
|
|
|
|
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
|
|
|
|
MIT or MIT/Apache 2.0 where applicable.
|