Перезапустите сервер из командной строки один раз с -u и -d флагов например.
sudo service odoo stop
/path/to/odoo/odoo.py -d <your_db_name> -u custom_module1,custom_module2
Если вы имеете дело с сервером производства, я бы проверить это локально, на вашей машине с новой свалки производства DB убедитесь, что он работает, настроить его, если это необходимо (например, некоторые поля, возможно, потребуется по умолчанию, независимо), повторите проверку еще раз на новом дампе до тех пор, пока все, что мне нужно сделать, это перезагрузить сервер, как указано выше, чтобы произошли изменения. Как только это произойдет, создайте резервную копию базы данных, хранилища данных и даже затронутых модулей на рабочем сервере, загрузите новый модуль (модули) и перезапустите производственный сервер, как указано выше (без демпинга баз данных от теста до производства здесь) обновление модуля должно уход за изменениями базы данных.
Если вы пытаетесь существенно изменить структуру таблицы (например, изменить тип данных полей) и сохранить данные в таблицах, единственный способ, которым я могу это сделать, - создать новые поля сначала с новым типом данных, заполнить их с данными из старых полей (либо напрямую с запросами postgres, либо внутри вашего «промежуточного модуля версии»), и это действительно зависит от изменений, изменение от выбора до many2one включает в себя вставку значений выбора в новую таблицу, две очень разные вещи из точка базы данных, фактический тип поля в таблице будет целым числом, идентификатор из строки, которая содержит значение выбора в реляционной таблице ...
После того, как ваши новые поля заполнены, сделайте окончательную версию модуль, удаляющий все поля, которые вы больше не нужны (сохраните другую версию для производственной базы данных).
Я бы, вероятно, проверил популяцию базы данных вручную на сервере разработки сначала либо в postgres, либо с помощью какого-либо инструмента, такого как pgadminIII, но планировал создать сценарий для его создания на производственном сервере (или, еще лучше, создать его в новом версия модуля), поскольку это должно быть уменьшено, пока это произойдет.
Я также посмотрел бы на мои таблицы postgres после того, как все будет готово, некоторые поля все еще могут быть там, даже если новый модуль их не использует.
К сожалению, я не знаю ни одного более простой, автоматический способ сделать это, там просто слишком много переменных ...
У меня нет проблем с Postgres или Dumps. Постараюсь объяснить ... На производстве были установлены некоторые модули. Я изменил некоторые поля в моделях. Для просмотра изменений в моделях необходимо перезапустить 'openerp-server'. Но сервер не запустится, потому что структура таблиц и моделей отличается. Если мы нажмем кнопку «удалить» -> развернуть модели на сервер -> нажмите «установить», все будет в порядке, но в этом случае мы потеряли все данные. Итак, я хочу знать, что можно создать некоторый ** скрипт миграции ** и использовать их, когда мы нажимаем ** обновлять модуль ** или до 'start server'. –
Вы изменили тип данных полей в модели существующих полей или добавили новые поля в модель? –
Я просто ищу быстрый и простой способ обновления модулей. Я не могу поверить, что нет средства для создания миграции на основе разности Odoo-models/tables. –