Розробка під 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 .
Ця процедура займає багато часу, тому її слід використовувати як фінальний тест.
Ну якщо ви дійшли до цього етапу, то мої вітання: ви написали пристойний модуль.