Zum Inhalt springen

Getting Started

GitHub

Sie können unser AI-gestütztes Setup verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihrer AI-Werkzeug mit dem folgenden Befehl hinzu:

Terminalfenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Verwenden Sie dann die folgende Anweisung:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-fast-sql` plugin in my project.

Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die darunter angegebenen Plattform-spezifischen Anweisungen befolgen:

Terminalfenster
bun add @capgo/capacitor-fast-sql
bunx cap sync
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';

Initialisieren Sie die Datenbankverbindung und starten Sie den HTTP-Server.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
const conn = await CapgoCapacitorFastSql.connect({ database: 'myapp' });
console.log('Connected on port:', conn.port);

Schließen Sie die Datenbankverbindung und stoppen Sie den HTTP-Server.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
await CapgoCapacitorFastSql.disconnect({ database: 'myapp' });

Ermitteln Sie den HTTP-Server-Port und den Token für direkte Kommunikation.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
const info = await CapgoCapacitorFastSql.getServerInfo({ database: 'myapp' });
console.log('Server port:', info.port);

Führen Sie eine SQL-Anfrage über die Capacitor-Brücke (für einfache Abfragen) aus. Für eine bessere Leistung bei großen Datensätzen verwenden Sie das HTTP-Protokoll direkt über die SQLConnection-Klasse.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
const result = await CapgoCapacitorFastSql.execute({
database: 'myapp',
statement: 'SELECT * FROM users WHERE age > ?',
params: [18]
});
console.log('Rows:', result.rows);

Einen Datenbanktransaktionsbeginn starten.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
await CapgoCapacitorFastSql.beginTransaction({ database: 'myapp' });
// Execute multiple operations
await CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });

Die aktuelle Transaktion bestätigen.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
await CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });

Die aktuelle Transaktion rückgängig machen.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
try {
await CapgoCapacitorFastSql.beginTransaction({ database: 'myapp' });
// Operations...
await CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });
} catch (error) {
await CapgoCapacitorFastSql.rollbackTransaction({ database: 'myapp' });
}

Web-spezifische Optionen für das sql.js WASM-Modul konfigurieren.

Diesen Aufruf vorher den ersten connect() Aufruf, um SQL.js von einem lokal verknüpften Pfad zu laden, anstatt vom Standard-CDN. Diese Methode ist auf iOS und Android ein no-op.

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
// Configure once at app startup (web only)
await CapgoCapacitorFastSql.configureWeb({
sqlJsUrl: '/assets/sql-wasm.js',
wasmUrl: '/assets/sql-wasm.wasm',
});
const db = await FastSQL.connect({ database: 'myapp' });

Abschnitt: Typenverweis

Abschnitt: SQLConnectionOptions

SQLConnectionOptions

Datenbankverbindungsoptionen

Datenbankverbindungsoptionen.

export interface SQLConnectionOptions {
/**
* Database name (file will be created in app data directory)
*/
database: string;
/**
* Enable encryption (iOS/Android only)
*/
encrypted?: boolean;
/**
* Encryption key (required if encrypted is true)
*/
encryptionKey?: string;
/**
* Read-only mode
*/
readOnly?: boolean;
}

SQL-Typen, die vom Plugin unterstützt werden.

export type SQLValue = string | number | boolean | null | Uint8Array;

Ergebnis der Ausführung einer SQL-Anfrage.

export interface SQLResult {
/**
* Rows returned by the query (for SELECT statements)
*/
rows: SQLRow[];
/**
* Number of rows affected by the query (for INSERT/UPDATE/DELETE)
*/
rowsAffected: number;
/**
* ID of the last inserted row (for INSERT statements with auto-increment)
*/
insertId?: number;
}

Transaktionsisolationsebenen.

export enum IsolationLevel {
ReadUncommitted = 'READ UNCOMMITTED',
ReadCommitted = 'READ COMMITTED',
RepeatableRead = 'REPEATABLE READ',
Serializable = 'SERIALIZABLE',
}

Webplattform-Konfiguration für das sql.js-WASM-Modul. Verwenden Sie dies, um configureWeb() um sql.js von einem lokal verpackten Pfad zu laden anstatt von der Standard-CDN.

export interface WebConfig {
/**
* URL to the sql.js JavaScript file (`sql-wasm.js`).
* When omitted, the plugin loads from the cdnjs CDN.
* @example '/assets/sql-wasm.js'
*/
sqlJsUrl?: string;
/**
* URL to the sql.js WebAssembly binary (`sql-wasm.wasm`).
* When omitted, the plugin loads from the cdnjs CDN.
* @example '/assets/sql-wasm.wasm'
*/
wasmUrl?: string;
}

SQL-Rohresultat - Werte indexiert nach Spaltenname.

export interface SQLRow {
[column: string]: SQLValue;
}

Diese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisierung, wenn die öffentliche API sich im Hintergrund ändert.

Wenn Sie das Plugin verwenden Getting Started zur Planung von Dashboard und API-Operationen, verbinden Sie es mit Mit @capgo/capacitor-fast-sql für die native Fähigkeit in Mit @capgo/capacitor-fast-sql, API Übersicht zur Implementierungsdetail in API Übersicht Einführung zur Implementierungsdetail in Einführung API Schlüssel zur Implementierungsdetail in API Schlüssel und Geräte für die Implementierungsdetails in Geräten.