No prestar atención a las MIGRACIONES POST DESPLIEGUE salta problemas

Tengo una instancia multisitio en la que varias bases de datos no se pudieron migrar porque
PG::DuplicateColumn: ERROR: la columna «bookmarkable_id» de la relación «bookmarks» ya existe

¿quizás debería eliminar esa columna de esa tabla en esas bases de datos?

parece que se debió a que las migraciones anteriores no se ejecutaron debido a que SKIP_POST_DEPLOYMENT_MIGRATIONS estaba configurado y las migraciones anteriores no habían finalizado.

Eliminaré esto cuando confirme que es cierto…

1 me gusta

@martin ¿alguna idea, tal vez relacionada con las refactorizaciones recientes?

2 Me gusta

Disculpa la falsa alarma. Odio cuando hago esto.

El problema era que tenía SKIP_POST_DEPLOYMENT_MIGRATIONS: 1 configurado y luego no ejecuté multisite:migrate. Después de ejecutar SKIP_POST_DEPLOYMENT_MIGRATIONS=- multisite:migrate, pude iniciar.

Solo necesito arreglar mis herramientas para que multisite ejecute la migración después de encender el nuevo contenedor semi-migrado.

2 Me gusta

Pero extraño. Recovering from failed/partially applied upgrade parece tener el mismo problema y parece ser una instalación estándar.

Habría respondido a esta publicación, pero pensé que era el mismo síntoma de un problema diferente. :slight_smile: Reconozco que no sé lo suficiente para confirmar una u otra cosa…

1 me gusta

Parece estar relacionado con DEV: Re-add polymorphic bookmark columns (#16261) · discourse/discourse@8040b95 · GitHub

Este commit es una rehacer de 2f1ddadff7dd47f824070c8a3f633f00a27aacde
que revertimos porque hizo explotar una verificación interna de CI. Lo revisé
y sucedió porque la migración antigua para agregar las columnas de marcadores
aún existía, y esas columnas se eliminaron en una migración posterior (post migrate),
por lo que las dos migraciones para agregar las columnas entraron en conflicto antes
de que se ejecutara la migración posterior.

2 Me gusta

Vaya. Eso parece explicarlo.

¿Alguna novedad sobre esto?

El mío está presentando el mismo problema.

¿Cómo copiaría este git en mi discourse?