Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

feat: support configurable relational database backends for server deployments

Abierto
#148 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
postgresql, python, sqlite

Línea de trabajo

Start by locating the existing SQLite persistence layer and configuration entry point, then review the persisted domain model and CI setup. Define the backend abstraction, PostgreSQL support, schema migrations, SQLite-to-PostgreSQL migration path, and documented concurrency behavior; done means both backends pass consistent core-data checks and deployment guidance covers PostgreSQL operations.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Problem

OpenOrbit currently persists operational data with SQLite, which is a strong default for local-first and single-user use.

For a server deployment shared by multiple users, however, we need an option better suited to concurrent access, backups, monitoring, and potentially multiple application instances.

Proposal

Keep SQLite as the default local backend, and add a configurable relational database backend abstraction with PostgreSQL as the first supported server backend.

Initial configuration could be environment-based:

OPENORBIT_DATABASE_URL=sqlite:///path/to/openorbit.db
OPENORBIT_DATABASE_URL=postgresql://user:password@host:5432/openorbit

Scope

  • Preserve SQLite as the zero-configuration local default.
  • Support PostgreSQL for server deployments.
  • Introduce schema migrations and versioned database upgrades.
  • Keep the existing API and persisted domain model backend-independent.
  • Document backup, restore, and migration guidance.
  • Define the supported concurrency and multi-instance behavior.

Acceptance criteria

  • A new installation can use either SQLite or PostgreSQL through configuration.
  • Core data (Assets, Builds, Runs, Improvements, issues, comments, and logs) behaves consistently on both backends.
  • Existing SQLite data can be migrated to PostgreSQL safely.
  • CI verifies the persistence layer against SQLite and PostgreSQL.
  • Server deployment documentation includes PostgreSQL setup and operations.

Open questions

  • Should PostgreSQL support arrive before multi-instance serving is officially supported?
  • Which data remains filesystem-backed (for example, run artifacts or large logs) rather than moving into the database?
  • Should SQLite-to-PostgreSQL migration be an in-app command or a separate tool?
Lenguaje dominante
Python
Estrellas
5
Forks
10
Merge medio
5 h 12 min
PR fusionados (30 d)
132

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de forthfate/openorbit

Todos los issues de forthfate/openorbit

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.