Optional Postgres support for self-hosting
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- docker, javascript, node.js, postgresql, sqlite
- Área
- backend, database, devops, documentation
Línea de trabajo
Start by reading backend/db.js to map the existing database operations and schema, then inspect SQLite-specific SQL in backend/routes/ and backend/server.js. Run npm test and node scripts/check-boundary.js to establish the current baseline. This is explicitly a large, multi-PR change; done means both database test runs pass, a seeded SQLite database migrates with table row counts reported, and self-hosting docs are updated.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
CodeArena runs on SQLite only. That is perfect for a small instance, but a busy self-hosted copy wants a managed database with backups, replicas and more than one backend process.
Goal
Optional Postgres support selected by DATABASE_URL, with SQLite remaining the default and zero-config.
What to do
- Put database access behind a small adapter with the operations the code already uses (
run,get,all, transactions), with one implementation per engine. - Translate schema and migrations in
backend/db.jsfor Postgres: autoincrement ids,INTEGERbooleans, text dates andINSERT OR IGNOREstyle statements all differ. - Find and fix SQLite-only SQL across
backend/routes/andbackend/server.js. List each pattern you changed in the pull request. - A one-way migration script that copies an existing SQLite database into an empty Postgres database and checks row counts per table.
Rules
- Run the whole backend test suite against both engines in CI, using a Postgres service container. A feature is not done if it only passes on one.
- No ORM rewrite. Keep the SQL readable and close to what is there.
Definition of done
npm testgreen on SQLite and Postgres.- A real migration of a seeded local database, with row counts in the pull request.
- Self-hosting docs updated, including the Docker setup if #10 has landed.
node scripts/check-boundary.jspasses.
Large change: please comment with a plan and split it into several pull requests.
- Lenguaje dominante
- JavaScript
- Estrellas
- 0
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 sennaicodes/codearena
-
Add issue and pull request templatesQuizá libre de nuevo @franciscorodr26 la tomó hace 17 días y no hay ningún pull request abierto. Abiertodocumentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
sennaicodes/codearena#13 · 1 comentario ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
sennaicodes/codearena#34 ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
sennaicodes/codearena#33 ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
sennaicodes/codearena#32 ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
sennaicodes/codearena#31 ·
Todos los issues de sennaicodes/codearena
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
flarum/framework#5301 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
AOSSIE-Org/BabyNest#284 ·
Los mantenedores suelen responder en 1 día
-
status:untriaged
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
midnightntwrk/servicedesk#275 ·
Los mantenedores suelen responder en 1 día