Розробка під Odoo. Лайфхаки.

Розробка під Odoo - це робота над декількома проектам одночасно, а також робота під різні версії Odoo одночасно. Ці проекти треба запускати одночасно і переключатись між ними прямо посеред роботи. Тому не треба сподіватись, що все обійдеться однією інсталяцією. Обираємо місце, де будемо тримати всі проекти (щоб не шукати їх по системі), наприклад, /home/myuser/odoo_dev/, але можна будь-де, аби зручно було. Послідовно виконуємо наступні команди (або можете потім з них собі скрипт зробити)

mkdir -p /home/myuser/odoo_dev/newproject
cd /home/myuser/odoo_dev/newproject
odoo-helper postgres user-create odoo14newproject odoo
odoo-install -i . --db-user odoo14newproject --conf-opt-http_port 14089 --odoo-version 14.0 --odoo-branch 14.0 --db-pass odoo
odoo-helper install dev-tools

Давайте їх розберемо (бо це важливо для створення комфортного середовища)

/home/myuser/odoo_dev - Директорія, де лежать проекти з Odoo
newproject - назва проекту (як ви здогадались, її змінюють на кожному проекті)
odoo14newproject - під кожен проект створюємо окремого користувача в PostgreSQL, щоб проекти не "бачили" бази інших проектів.

Далі власне команда встановлення середовища

-i - вказує, що середовище буде створено в поточній директорії
--db-user - користувач, якого ми створили на попередньому кроці
--db-pass - його пароль
--odoo-version та --odoo-branch - це номер версії Odoo, з якою ви працюєте в цьому проекті 
--conf-opt-http_port - це номер порту, бо ми ж створюємо багато проектів, то вони мають працювати на окремих портах, щоб не заважати один одному (порти понад 10000 вільні і їх можна без проблем використовувати)

Остання команда, встановлює в середовище інструменти розробника (ми про них ще окремо поговоримо)

Відкриваємо PyCharm, в ньому Файл -> Відкрити і обираємо нашу директорію


Після індексації можемо перейти до налаштувань



1 - /home/myuser/odoo_dev/newproject/odoo/odoo-bin

2 - -c /home/myuser/odoo_dev/newproject/conf/odoo.conf

3 - /home/myuser/odoo_dev/newproject/odoo

Закоментуємо logfile у conf файлі


Після налаштування ми отримуємо


1 - вже запущене віртуальне середовище venv

2 - можливість запускати та перезапускати Odoo через кнопки та інші механізми PyCharm

З браузера можемо зайти за адресою

http://127.0.14.89:14089/

Така адреса дозволяє запускати два чи більше проектів в одному браузері. Оскільки адресі 127.х.х.х - усі є адресами локальної машини, то маршрутизація здійснюється лише за номером порту (цифри співпадають лише для того що б не заплутатись).

Робота з репозиторіями 

Додаємо репозиторій, наприклад https://github.com/OCA/web

odoo-helper-fetch -r https://github.com/OCA/web.git


після скачування репозиторію він розміститься в директорії   repositories


а на усі модулі будуть створені символічні посилання в директорію custom_addons


також репозиторій буде додано в перелік VCS


Створюємо свій репозиторій та додаємо пустий репозиторій до нашого проекту (зручніше використовувати ssh)


Переходимо до директорії репозиторію та створюємо модуль за шаблоном командою

odoo-helper scaffold myaddon .


Додаємо модуль командою

odoo-helper link .

Встановлюємо модуль командою

odoo-helper-addons install myaddon

Оновлювати модуль можна командою

odoo-helper-addons-update myaddon

Або додати модуль до списку модулів, що перевстановлюються при запуску Odoo


Тобто додаємо ключ -u та перелік модулів через кому без інших роздільників, пробілів, наприклад
-u myaddon1,myaddon2

Таким чином просто перезапускаючи Odoo стандартним для PyCharm способом, ми повністю оновлюємо модуль


Коли робота над модулем завершена, треба перевірити код на якість командами

odoo-helper flake8 .
та

odoo-helper pylint .

Якщо є помилки, результат буде такий


Тепер запустить тестування модулю на коректність роботи

odoo-helper --use-unbuffer test --coverage --create-test-db -d .

Ця процедура займає багато часу, тому її слід використовувати як фінальний тест.

Ну якщо ви дійшли до цього етапу, то мої вітання: ви написали пристойний модуль.

Розробка під Odoo. Лайфхаки.
Володимир Карабанов 21 березня, 2022
Поділитися цією публікацією
Теги
Архів
Найпростіше встановлення Odoo 14 на Ubuntu 18.04 за допомогою odoo-helper