Full-stack-skills tauri-app-sql

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.

install
source · Clone the upstream repo
git clone https://github.com/partme-ai/full-stack-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/partme-ai/full-stack-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tauri-skills/tauri-app-sql" ~/.claude/skills/partme-ai-full-stack-skills-tauri-app-sql && rm -rf "$T"
manifest: skills/tauri-skills/tauri-app-sql/SKILL.md
source content

When to use this skill

ALWAYS use this skill when the user mentions:

  • Using SQLite, MySQL, or PostgreSQL in a Tauri app
  • SQL migrations or database schema setup
  • Running queries from the frontend

Trigger phrases include:

  • "sql", "sqlite", "database", "postgres", "mysql", "migration", "db plugin"

How to use this skill

  1. Install the SQL plugin (with SQLite feature):
    cargo add tauri-plugin-sql --features sqlite
    
  2. Register the plugin with migrations in your Tauri builder:
    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())
    
  3. Configure capabilities in
    src-tauri/capabilities/default.json
    :
    { "permissions": ["sql:allow-load", "sql:allow-execute", "sql:allow-select"] }
    
  4. Query from the frontend:
    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');
    
  5. Use parameterized queries to prevent SQL injection
  6. Keep migrations versioned and run them automatically on app startup

Outputs

  • SQL plugin setup with SQLite/Postgres/MySQL
  • Migration system with versioned schemas
  • Frontend query patterns with parameterized inputs

References

Keywords

tauri sql, sqlite, database, postgres, mysql, migrations, queries