提升 Odoo 开发效率:Ubuntu 22.04 + Makefile 的最佳实践

作为一名 Odoo 开发人员,我强烈建议使用 Ubuntu 22.04 作为开发环境。这一版本的 Ubuntu 具有较高的稳定性和兼容性,非常适合进行 Odoo 的开发工作。为了提高日常开发效率,我通常会利用 Makefile 来管理一些常用的命令和操作流程。 以下是我的 Makefile 内容,它涵盖了从运行服务器到清理日志、终止进程等常用功能:

  • 运行 Odoo 服务,并启用所有开发者模式选项,同时将工具转换的日志级别设置为 DEBUG。
makefile 复制代码
run: kill clean
    venv/bin/python odoo-bin --config=./odoo.conf --dev=all --log-handler odoo.tools.convert:DEBUG
  • 启动 Odoo 交互式 Shell,方便调试数据库中的数据或执行 Python 代码。
makefile 复制代码
shell:
    venv/bin/python odoo-bin shell --config=./odoo.conf -d $(database)
  • 将本地代码提交至远程仓库。
makefile 复制代码
push:
    git push
  • 从远程仓库拉取最新的代码更新。
makefile 复制代码
pull: git pull
  • 清空 Odoo 服务器的日志文件,确保不会受到旧日志干扰。
makefile 复制代码
clean:
    echo "" > odoo-server.log
  • 检查并终止占用端口 8069 的进程。如果找到相关进程,则强制终止;否则提示未发现任何进程。
makefile 复制代码
kill:
    $(eval PID := $(shell netstat -tunlp 2>/dev/null | grep ':8069 ' | awk '{print $$7}' | cut -d'/' -f1))
	@if [ -n "$(PID)" ]; then echo "Killing process $(PID)"; kill -9 $(PID); else echo 'No process found'; fi
  • 检查指定模块是否能够正常加载,并在初始化完成后停止服务。
makefile 复制代码
check:
    clean venv/bin/python odoo-bin -c odoo.conf -d $(database) -u $(module) --stop-after-init
  • 导出指定模块的语言翻译文件,便于后续进行多语言支持的开发。
makefile 复制代码
translate:
    venv/bin/python odoo-bin --config=./odoo.conf -d test-db --language=en_US --modules=product --i18n-export=product.pot

通过上述 Makefile,我们可以非常方便地管理 Odoo 项目的各种操作。例如,make run可以快速启动 Odoo 服务,而make kill则能轻松终止可能存在的冲突进程。此外,make check可以帮助我们验证模块的正确性,而make translate则提供了生成翻译文件的功能。这些命令极大地简化了开发过程,使开发者能够更专注于核心业务逻辑的实现。

相关推荐
武子康9 分钟前
大数据-136 - ClickHouse 集群 表引擎详解 选型实战:TinyLog/Log/StripeLog/Memory/Merge
大数据·分布式·后端
Somehow00713 分钟前
从Binlog到消息队列:构建可靠的本地数据同步管道(macOS本地部署Canal & RocketMQ并打通全流程)
后端·架构
ai安歌15 分钟前
【Rust编程:从新手到大师】Rust概述
开发语言·后端·rust
用户61204149221317 分钟前
C语言做的智能家居控制模拟系统
c语言·后端·敏捷开发
豆苗学前端19 分钟前
10分钟带你入门websocket,并实现一个在线多人聊天室
前端·javascript·后端
风霜不见闲沉月23 分钟前
rust更新后编译的exe文件执行报错
开发语言·后端·rust
稚辉君.MCA_P8_Java33 分钟前
Bash 括号:()、{}、[]、$()、$(() )、${}、[[]] 到底有什么区别?
开发语言·jvm·后端·容器·bash
东百牧码人1 小时前
C#后端接口返回小程序二维码
后端
摇滚侠1 小时前
Spring Boot3零基础教程,事件驱动开发,设计登录成功后增加积分记录信息功能,笔记61
java·spring boot·笔记·后端
三十_1 小时前
TypeORM 多对多关联篇:中间表、JoinTable 与复杂关系的建模
前端·后端