Pular al contenido

Inicio

GitHub

Puede utilizar nuestra configuración asistida por inteligencia artificial para instalar el complemento. Agregue las Capgo habilidades a su herramienta de inteligencia artificial utilizando el siguiente comando:

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

Luego utilice el siguiente prompt:

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

Si prefiere la configuración manual, instale el complemento ejecutando los siguientes comandos y siguiendo las instrucciones específicas del plataforma a continuación:

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

Inicialice la conexión de base de datos y arranque el servidor HTTP.

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

Cierre la conexión de base de datos y detenga el servidor HTTP.

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

Obtenga el puerto del servidor HTTP y el token para comunicación directa.

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

Ejecutar una consulta SQL a través de Capacitor (para consultas simples). Para una mejor rendimiento con conjuntos de datos grandes, utilice el protocolo HTTP directamente a través de la clase SQLConnection.

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);

Iniciar una transacción de base de datos.

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

Confirmar la transacción actual.

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

Revertir la transacción actual.

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' });
}

Configurar opciones específicas de la web para el módulo sql.js WASM.

Llamar a esto antes contexto: antes de trabajar en una nueva característica. Página/área: sitio web de marketing de Capgo. Rol: párrafo de marketing o legal. Visto en: página contribuyendo.astro. Clave de mensaje `create_an_issue_and_discuss_before_working_on_a_new_feature` (Crear un problema y discutir antes de trabajar en una nueva característica). | Fragmento de texto HTML de una cadena de UI de Capgo más larga (clave de mensaje padre `mention_issue_before_working`). Página/área: sitio web de marketing de Capgo. Rol: oración de sitio web. Visto en: página contribuyendo.astro. Clave de mensaje `mention_issue_before_working` (Mencionar problema antes de trabajar). connect() la primera

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' });

Copiar a portapapeles

Referencia de tipos

Opciones de conexión a la base de datos.

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;
}

Tipos de valores SQL admitidos por el complemento.

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

Resultado de la ejecución de una consulta SQL.

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;
}

Niveles de aislamiento de transacción.

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

Configuración de la plataforma web para el módulo sql.js WASM. Utilice con configureWeb() para cargar sql.js desde un camino de paquete local en lugar del CDN predeterminado.

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;
}

Resultado de fila SQL - valores indexados por nombre de columna.

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

Esta página se genera a partir del archivo src/definitions.tsRe-ejecutar la sincronización cuando los cambios públicos API se actualicen en la fuente.

If you are using Getting Started para planificar la pantalla de dashboard y las operaciones API, conecta con Using @capgo/capacitor-fast-sql para la capacidad nativa en Using @capgo/capacitor-fast-sql, API Overview para el detalle de implementación en API Overview, Introducción para el detalle de implementación en Introducción, API Keys para el detalle de implementación en API Keys, y Dispositivos para los detalles de implementación en dispositivos.