由于经常在多个odoo环境中切换开发,不可避免的会碰到数据库版本不一致的问题,解决的方案是给每个版本指定一个数据库用户,从而做到数据库分离。 因为某种原因,给数据库用户更换了名称,以前可以正常使用的数据库不能用了,报的错误如下:
1 | response = f(*args, **kw) |
因为之前已经把数据库的owner从老用户转到了新用户头上,因此不是数据库的owner不对造成的。使用\dt命令查看,发现,虽然数据库改过来了,而该数据库下的表的owner还是老用户。
由于表、视图等数量很多,不能一一更改,因此我们需要找到一个快捷的方法。
1 | reassign owned by old_name to new_name; |
不过该方法有个副作用,如果你的old_name拥有多个数据库,那么哪些数据库也同样会被修改到新用户名下。