Перейти к основному содержанию

Seafile 12 — ошибка после обновления Table seafile-db.gcid doesn't exist

Seafile

После апгрейда Seafile до версии 12 можно поймать ошибки вида:

Failed to prepare sql SELECT gc_id FROM GCID WHERE repo_id = ? FOR UPDATE: Table 'seafile-db.gcid' doesn't exist

или

Failed to save gc id: Error 1146: Table 'seafile_db.GCID' doesn't exist
Failed to save gc id: Error 1146: Table 'seafile_db.LastGCID' doesn't exist

Проблема сопровождается невозможностью загрузить любой файл через Web интерфейс.

seafile

Виновато в этом отсутствие в базе seafile_db таблиц:

  • GCID
  • LastGCID

Скрипт обновления просто не создаёт эти таблицы. Вероятно, их просто забыли добавить в скрипт апгрейда. Ошибка проявилась из-за того, что в Community edition добавили онлайн сборку мусора. В профессиональной версии Seafile данные таблицы уже давно существуют, никто и не подумал, что в версии Community их нужно создать.

Устраняем ошибку путём создания недостающих таблиц:

CREATE TABLE IF NOT EXISTS GCID (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(36),
gc_id CHAR(36),
UNIQUE INDEX(repo_id)
) ENGINE=INNODB;

CREATE TABLE IF NOT EXISTS LastGCID (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(36),
client_id VARCHAR(128),
gc_id CHAR(36),
UNIQUE INDEX(repo_id, client_id)
) ENGINE=INNODB;

seafile

Загрузка через web заработала.

seafile

Теги

 

Похожие материалы

Windows 10 — очистка папки WinSxS

Папка C:\windows\WinSxS является хранилищем компонентов Windows. В ней хранятся файлы, необходимы для работы установленных компонентов Windows. При установке обновления Windows старые компоненты сохраняет именно здесь, обеспечивая возможность "отката" на предыдущую версию при удалении установленного обновления.

Теги

HPE ProLiant Gen10 — меняем профиль рабочей нагрузки

В серверах HPE ProLiant Gen10, ProLiant Gen10 Plus и HPE Synergy существуют предустановленные профили рабочей нагрузки. В соответствии с выбранной рабочей нагрузкой сервер автоматически настроит все связанные параметры производительности.

Теги

Включаем VMware EVC в кластере с работающим vCenter 7

Просто так включить EVC в кластере VMware 7 с работающим vCenter не получится. Посмотрел мануалы в Интернете, предлагают очень странные решения. Есть вариант проще с использованием двух хостов.