第十二章 管理数据库

odoo自带数据库管理界面,对于非技术人员来说,进行数据库的备份与还原相对友好了很多。

odoo数据库的备份与恢复

对于日常的数据库备份来说,可以通过自带的web管理界面来进行操作。具体来说,就是打开/web/database/manager,在下面截图的界面中进行备份与还原。

备份的数据库有两种格式可以选择,一种是可以被Postgres直接识别并还原的dump文件。另外一种是包含附件在内的zip文件。zip文件是包含数据的sql文件和附件的压缩包。显然,zip文件的大小要比dump文件大很多。当系统使用了一段时间之后,zip文件将变得十分庞大,备份和还原将成为一件费时的事情。

另外,通常情况下,我们的odoo服务都会挂在反向代理服务之后,当数据库大到一定程度之后,还原的时候可能还需要修改反向代理服务器的设置才能成功。

通过第三方模块自动备份

对于技术人员来说,手动备份数据库简直不要太low。跟geek的做法是设置定时任务,自动备份,最好还能自动异地备份,以防止服务器被攻击,导致数据丢失。odoo的强大在于生态的强大,对于这种普遍的需求,基本都可以在网上找到解决方案。

我们可以通过第三方工具模块——Auto Backup*来完成我们上面说的需求。Auto Backup利用了Odoo的定时任务,可以自动讲数据库备份到服务器上指定的文件夹中或指定的FTP服务器上。

附件的处理

默认情况下odoo附件的存储路径根据操作系统的不同而不同。以常见的Ubuntu系统为例,附件的路径位于: /var/lib/.local/share/Odoo 改目录下通常包含三个文件夹,其中一个叫filestore,即存储我们附件的真正地方。

filestore文件夹下是以数据库命名的子文件夹,分别存储对应数据库中的文件数据。在数据库文件夹下面,你会看到若干奇怪的文件夹名:

00
01
02
...
3F
3H
...

这里涉及到Odoo的文件存储机制,Odoo在将每个二进制文件写入到磁盘之前,会将此二进制文件进行一次SHA1的hash运算,该文件夹名即hash之后的结果的前两位结果。之所以进行hash运算,是为了将完全相同的两个文件指向同一个物理文件,以节省磁盘空间。

  • Auto Backup 模块的作者是Yenthe Van Ginneken,活跃于github,曾经以为他是odoo官方的开发者,其实不是,他是自由职业并于2018年创建了专注于odoo培训的公司oocademy。英文好的同学可以关注他的博客

results matching ""

    No results matching ""