Skip to content

Conception de la Base de Données ​

Aperçu ​

Memesplora utilise ent ORM pour la gestion de la base de données, prenant en charge SQLite (développement) et PostgreSQL (production). La base de données stocke uniquement les métadonnées ; le contenu réel des fichiers est stocké dans le système de fichiers en mémoire.

Schéma ​

Utilisateur ​

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

Espace ​

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

Fichier ​

  • 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 (suppression douce)

Partage ​

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

Choix de la Base de Données ​

EnvironnementBase de DonnéesNotes
DéveloppementSQLiteAucune configuration nécessaire, basée sur fichiers
Utilisateur uniqueSQLiteAdapté aux scénarios mono-utilisateur
ProductionPostgreSQLPrend en charge la concurrence, multi-utilisateur

Apache License 2.0