Skip to content

Diseño de Base de Datos ​

Visión General ​

Memesplora utiliza ent ORM para la gestión de la base de datos, compatible con SQLite (desarrollo) y PostgreSQL (producción). La base de datos almacena solo metadatos; el contenido real de los archivos se almacena en el sistema de archivos en memoria.

Esquema ​

Usuario ​

  • id, username (único), email (único), password, nickname
  • group_id, storage_used, max_storage, is_admin
  • created_at, updated_at

Espacio ​

  • id, name, description, total_size, used_size
  • block_size, device_id, device_type, status
  • owner_id (FK → User), created_at, updated_at

Archivo ​

  • id, name, path, size, type, mime_type
  • inode_id, parent_id, storage_key, is_shareable
  • space_id (FK → Space), created_at, updated_at, deleted_at (eliminación suave)

Compartición ​

  • id, share_key (único), download_limit, download_count
  • expire_at, is_password, password
  • owner_id (FK → User), space_id (FK → Space), file_id (FK → File)
  • created_at

Elección de Base de Datos ​

EntornoBase de DatosNotas
DesarrolloSQLiteSin configuración necesaria, basada en archivos
Usuario únicoSQLiteAdecuado para escenarios de un solo usuario
ProducciónPostgreSQLSoporta concurrencia, multi-usuario

Apache License 2.0