У меня есть инстанс с несколькими сайтами, в котором не удалось выполнить миграцию нескольких баз данных из-за ошибки:
PG::DuplicateColumn: ERROR: column "bookmarkable_id" of relation "bookmarks" already exists
Возможно, мне стоит удалить этот столбец из соответствующей таблицы в этих базах данных?
Похоже, причина в том, что предыдущие миграции не были выполнены из-за установки переменной SKIP_POST_DEPLOYMENT_MIGRATIONS, и предыдущие миграции не были завершены.
Извините за ложную тревогу. Я так ненавижу, когда я так делаю.
Проблема заключалась в том, что я установил SKIP_POST_DEPLOYMENT_MIGRATIONS: 1, а затем не выполнил multisite:migrate. После того как я выполнил SKIP_POST_DEPLOYMENT_MIGRATIONS=- multisite:migrate, я смог выполнить загрузку.
Мне просто нужно исправить свои инструменты для мультисайта, чтобы они выполняли миграцию после запуска нового частично мигрированного контейнера.
Я хотел бы ответить на этот пост, но решил, что это тот же симптом другой проблемы. Честно говоря, я не знаю достаточно, чтобы подтвердить это в любом случае…
Этот коммит является повторной реализацией 2f1ddadff7dd47f824070c8a3f633f00a27aacde,
которую мы откатили, так как она вызвала сбой во внутренней проверке CI. Я
разобрался в ситуации: проблема возникла потому, что старая миграция для добавления
столбцов закладок всё ещё существовала, а эти столбцы были удалены в ходе
пост-миграции, поэтому две миграции, добавляющие столбцы, конфликтовали
до выполнения пост-миграции.