Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ 问题咨询 ] 咨询新增的 django_q 权限说明 #133

Closed
flyingonthebed opened this issue Apr 17, 2019 · 14 comments
Closed

[ 问题咨询 ] 咨询新增的 django_q 权限说明 #133

flyingonthebed opened this issue Apr 17, 2019 · 14 comments
Labels
question Further information is requested

Comments

@flyingonthebed
Copy link
Contributor

问题描述

1.38 升级 1.50 过程中,涉及权限的auth_group_permissions、auth_permission 因为 django_q 的引入,带来的 id 变动,需要在前台手工分配权限。

但是不了解 django_q 的每一项权限的详细作用,以及如何分配,docs 中也没有体现,望解答,谢谢。

版本信息

  • 应用版本/分支:Release v1.38 --> v1.50
  • 部署方式:手工部署
@flyingonthebed flyingonthebed added the question Further information is requested label Apr 17, 2019
@LeoQuote
Copy link
Collaborator

django_q 没有带来新的应用级别权限, 只是把一些操作移到网页程序之外进行执行了。

django_q 可能在这个表中产生了新的权限, 但是这些权限只有admin页面用到, 我们的应用暂时没有用到。

你所说的id变动具体是指什么?

@flyingonthebed
Copy link
Contributor Author

1.38 版本 auth_permission 数据
image

1.50 版本 auth_permission 数据
image

1.38 版本 auth_group_permission数据
image

@hhyo
Copy link
Owner

hhyo commented Apr 17, 2019

全新安装?

全新安装的话,需要自己迁移数据
如果是升级,按照升级文档操作就行,升级步骤会保证数据连续性

@flyingonthebed
Copy link
Contributor Author

手工部署的方式,直接执行 升级SQL,auth_permission 数据也不对把。1.38里面没有 django_q,但是1.50里面有这个 auth

@LeoQuote
Copy link
Collaborator

请问你数据库结构的具体升级方法是什么,提供的升级语句对这些表最多就是做insert操作,你是不是在部署之后自己使用了django makemigration等方法自己升级数据库了?

@hhyo
Copy link
Owner

hhyo commented Apr 17, 2019

新的app是追加啊,又不改原有id,
行不行整个备份库出来操作一遍就知道了

@flyingonthebed
Copy link
Contributor Author

我就是按照升级脚本升级的,升级脚本只是insert 了按钮,并没有insert django_q 的权限。
1.38数据库执行升级脚本,继续使用1.38数据库和1.38迁移到1.50数据库,里面的数据并不一致。

@hhyo
Copy link
Owner

hhyo commented Apr 18, 2019

其实我想知道按照升级脚本升级后,有什么问题
数据不一致的具体影响是什么,影响到功能了还是使用了

服务异常?权限异常?

目前业务上面使用的权限只有sql|permission开头的,其他有没有都没有任何关系

@flyingonthebed
Copy link
Contributor Author

1.38的数据库升级1.50后,拥有的权限:
image

使用1.50数据库迁移1.38数据后,拥有的权限:
image

就是不知道会对以后使用有什么影响才会发 issue啊

@hhyo
Copy link
Owner

hhyo commented Apr 18, 2019

没影响,可忽略,wiki有说明,后续我加个粗标个红

@hhyo hhyo closed this as completed Apr 18, 2019
@LeoQuote
Copy link
Collaborator

django_q 相关权限的缺失对系统使用不会有任何影响, 这个我在最开始的时候就说了。 这些权限在系统代码中没有用到。

如果你想要这些权限, 想跟1.5.0 全新部署一样, 可以 python manage.py migrate 添加这些权限。

我比较关心的是你所说的ID 错位问题, 这个问题存在吗?会导致用户失去权限吗?

@hhyo
Copy link
Owner

hhyo commented Apr 18, 2019

django_q 相关权限的缺失对系统使用不会有任何影响, 这个我在最开始的时候就说了。 这些权限在系统代码中没有用到。

如果你想要这些权限, 想跟1.5.0 全新部署一样, 可以 python manage.py migrate 添加这些权限。

我比较关心的是你所说的ID 错位问题, 这个问题存在吗?会导致用户失去权限吗?

错位看起来是全新的1.5.0部署和升级部署的对比,可以考虑加个脚本,在安装步骤中引导用户删除所有非sql| permission的权限,避免引起疑惑,怎么样?

@flyingonthebed
Copy link
Contributor Author

嗯,可以,只要权限不错落就好

@LeoQuote
Copy link
Collaborator

@hhyo 我个人感觉没有必要

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants