YaDominiosYaDominios

Base de datos y archivos en tu app (D1 y R2)

Actualizado: 2026-07-17 · YaDominios

Tu sitio en YaDominios Cloud puede tener base de datos y almacenamiento de archivos. Si tu repositorio incluye un archivo _worker.js, le creamos automáticamente una base de datos (env.DB) y un bucket de archivos (env.BUCKET); si incluyes schema.sql, creamos tus tablas. Todo queda en nuestra nube, sin configurar servidores.

Cómo activarlo (para tu desarrollador)

Un sitio normal solo lleva archivos estáticos. Para que tenga base de datos y archivos, tu repositorio debe incluir, en la raíz publicada:

  • _worker.js — el código de servidor de tu app. Recibe las peticiones y usa env.DB (base de datos) y env.BUCKET (archivos). Lo que no sea de tu código, lo sirve como sitio con env.ASSETS.fetch(request).
  • schema.sql (opcional) — las tablas de tu base de datos; las creamos al publicar.
  • index.html — tu página (el frontend).

Ejemplo mínimo de _worker.js

export default {
  async fetch(req, env) {
    const url = new URL(req.url);
    if (url.pathname === "/datos") {
      const { results } = await env.DB.prepare("SELECT * FROM tabla").all();
      return Response.json(results);
    }
    return env.ASSETS.fetch(req); // sirve tu sitio
  }
};

⚠️ No uses el prefijo /api/ para tus rutas de backend. En YaDominios Cloud los archivos estáticos se sirven antes que tu código, y en apps que traen assets (por ejemplo Next.js/OpenNext) el enrutado puede capturar /api/* y devolver 404 antes de llegar a tu worker. Usa cualquier otro prefijo para tus endpoints: /datos, /media, /upload, etc.

Qué te damos automáticamente

  • env.DB — base de datos SQL propia de tu sitio en YaDominios Cloud (motor SQLite).
  • env.BUCKET — almacenamiento de archivos/imágenes propio de tu sitio en YaDominios Cloud.
  • env.UPLOAD_TOKEN — una contraseña que la nube genera sola para proteger tu ruta de subida (/upload). No la inventes: ya viene puesta y la ves/copias en el panel. Compara con ella en tu worker para rechazar subidas sin permiso.

No tienes que crear nada a mano: al publicar tu repo, la base y el almacén se crean solos y quedan conectados a tu sitio. En el panel verás "Base de datos activa" y "Almacenamiento activo".

Preguntas frecuentes

Necesito instalar o configurar la base de datos?

No. Con solo incluir _worker.js en tu repo, te creamos la base de datos y la conectamos a tu sitio automáticamente al publicar.

Como creo mis tablas?

Agrega un archivo schema.sql en tu repositorio con tus CREATE TABLE; los ejecutamos al publicar.

Puedo subir imagenes de mis usuarios?

Si. Cada app con backend recibe un almacenamiento de archivos (env.BUCKET) donde guardas imágenes y archivos, con cero costo de salida.

Sigue leyendo

¿Listo para tu dominio?

Búscalo ahora y tenlo activo en minutos.

Buscar mi dominio