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