feat: support configurable relational database backends for server deployments
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
- Área
- backend, ci-cd, database, documentation
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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de forthfate/openorbit
-
documentation good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
accessibility good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
documentation good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
help wanted testing
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
Los mantenedores suelen responder en 1 día
-
enhancement good first issue help wanted integrations
Dificultad 4/5 3-5 días Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
Todos los issues de forthfate/openorbit
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
https://search.utilibre.orgAbiertoinstance instance add
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
searxng/searx-instances#941 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
FluidNumerics/fluid-walk-blocker#89 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día