PocketBase

PocketBase es un backend de base de datos ligero y de código abierto. Es una excelente opción para proyectos de tamaño pequeño a mediano. Se ejecuta en una base de datos SQLite local. Viene con una interfaz de administración incorporada y una API REST.

En Vela, la base de datos PocketBase se configura en hooks.server.ts:

import { handlePocketbase } from '@vela/pocketbase';
import {
    POCKETBASE_URL,
    POCKETBASE_SUPERUSER_EMAIL,
    POCKETBASE_SUPERUSER_PASSWORD
} from '$env/static/private';

export const handle = handlePocketbase({
	pocketbaseUrl: POCKETBASE_URL,
	superuserEmail: POCKETBASE_SUPERUSER_EMAIL,
	superuserPassword: POCKETBASE_SUPERUSER_PASSWORD
})

Al ejecutar el proyecto, la interfaz de administración de PocketBase está disponible en /admin. La API REST pública (si está habilitada) está disponible en /api.

Hay dos clientes diferentes disponibles para interactuar con la base de datos PocketBase: la API de administración y la API con ámbito de usuario. Estos se proporcionan en el objeto locals en el contexto del servidor SvelteKit.

export const load = async ({ locals }) => {
    const posts = await locals.admin.collection('posts').getFullList();
    const posts = await locals.pb.collection('posts').getFullList();
    return { posts };
}