你有没有遇到开发环境,某个接口中的删除表信息的功能是正常可以使用,但测试就是会告诉你,预生产环境不能删除这样的情景。我们的负责人可能在开发环境和预生产环境的数据库设置了不同的权限。
permission denied for relation user
这句话的意思是user表的关系的许可被拒绝,就是你接口执行的sql语句涉及到这张表,但其中的操作没有权限
这就很烦,有些时候为了保证数据安全性,部分表会操作用户不能删除,只能查,修改的权限。
解决方案:
- 配置yml中设置的登录数据库用户,给这个用户对应的权限
- 更改思路,删除不一定要删除,有许多公司采用不删除的方法,就是设置一个字段del用来表示是否删除,在所有查询中,只要del为Y就不展示(添加字段大部分时候是很麻烦的,也可以新建一个表,用id和user表关联,在关联表中设置del)