Access SQLite, MySQL, or PostgreSQL databases from the frontend using the Tauri v2 SQL plugin with migrations. Use when setting up a database connection, running SQL migrations, or executing queries with scoped access from the frontend.
ALWAYS use this skill when the user mentions:
Trigger phrases include:
cargo add tauri-plugin-sql --features sqlite
use tauri_plugin_sql::{Migration, MigrationKind};
let migrations = vec![Migration {
version: 1, description: "create_users", sql: "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT NOT NULL);",
kind: MigrationKind::Up,
}];
tauri::Builder::default()
.plugin(tauri_plugin_sql::Builder::new().add_migrations("sqlite:app.db", migrations).build())
src-tauri/capabilities/default.json:
{ "permissions": ["sql:allow-load", "sql:allow-execute", "sql:allow-select"] }
import Database from '@tauri-apps/plugin-sql';
const db = await Database.load('sqlite:app.db');
await db.execute('INSERT INTO users (name) VALUES (?)', ['Alice']);
const users = await db.select<{ id: number; name: string }[]>('SELECT * FROM users');
tauri sql, sqlite, database, postgres, mysql, migrations, queries