我一直在努力配置我的服务器以将所有附件存储到本地文件系统而不是数据库。你如何在OpenERP 7.0服务器上做到这一点?
答案 0 :(得分:6)
在OpenERP v7中,为附件配置本地存储的方式已发生变化。新系统在此post中进行了总结。
默认情况下,附件存储在数据库中,但您可以通过设置名为ir_attachment.location
的系统参数(通过设置>技术>参数>系统参数)来选择将它们存储在文件系统中。要查看此菜单,您需要“技术功能”访问权限。
此参数的格式应为:protocol://URI
,默认情况下唯一支持的协议是本地file://
,例如file:///filestore
请注意,file://
协议的路径是相对于OpenERP根路径(OpenERP服务器的位置)获取的,因此ir_attachment.location
设置为file:///filestore
时,将存储附件在<root_path>/filestore
下面。
新系统还使用SHA1哈希生成文件名,以便重复文件不占用任何空间。
在数据库模式下,文件内容存储在ir_attachment.db_datas
列中
在文件存储模式下,文件名存储在ir_attachment.db_datas_fname
列中
(神秘的名称是为了向后兼容)
警告:存储机制之间不存在自动转换机制。这意味着:
设置此参数时,现有附件仍保留在数据库中,只有 new 将存储在文件系统中。系统将尝试两个位置,因此这不是问题(首先查找数据库存储,然后查找文件系统存储)。
如果删除此参数,则应手动将文件存储在数据库中,因为系统只会查看数据库。