Skip to content

bugfix: 修复 iam sdk 拷贝到本地使用后执行 iam_makemigrations 报错的问题#50

Merged
wklken merged 3 commits intoTencentBlueKing:developfrom
homholueng:bugfix_iam_migration_app_name_fix
Sep 30, 2021
Merged

bugfix: 修复 iam sdk 拷贝到本地使用后执行 iam_makemigrations 报错的问题#50
wklken merged 3 commits intoTencentBlueKing:developfrom
homholueng:bugfix_iam_migration_app_name_fix

Conversation

@homholueng
Copy link
Contributor

close #41

@homholueng homholueng added the bug Something isn't working label Sep 29, 2021
@homholueng homholueng requested a review from wklken September 29, 2021 13:03
@homholueng homholueng changed the base branch from master to develop September 29, 2021 13:05
@wklken wklken merged commit 922dd3c into TencentBlueKing:develop Sep 30, 2021
@uddmorningsun
Copy link

@homholueng 如果你注意到 commit -- 077fe89 ,本次 PR 可以理解成 git revert 077fe8934 ,导致 Django 3.2.X 在 import_module(app_name)raise ImproperlyConfigured

(base) root@69faeb96:/tmp/123321/my_project# /tmp/venv/bin/python -u -m django --version
3.2.4
(base) root@69faeb96:/tmp/123321/my_project# /tmp/venv/bin/python -m pip freeze | grep bk-iam
bk-iam==1.1.19
# 基于 1.1.19 patched PR-50 
(base) root@69faeb96:/tmp/123321/my_project# grep "APP_NAME" /tmp/venv/lib/python3.7/site-packages/iam/contrib/iam_migration/constants.py
APP_NAME = "iam_migration"

(base) root@69faeb96:/tmp/123321/my_project# /tmp/venv/bin/python -u manage.py iam_makemigrations -v3 initial.json
Traceback (most recent call last):
  File "/tmp/venv/lib/python3.7/site-packages/django/apps/config.py", line 244, in create
    app_module = import_module(app_name)
... ...
  File "/tmp/venv/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/tmp/venv/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/tmp/venv/lib/python3.7/site-packages/django/apps/config.py", line 250, in create
    app_config_class.__qualname__,
django.core.exceptions.ImproperlyConfigured: Cannot import 'iam_migration'. Check that 'iam.contrib.iam_migration.apps.IAMMigrationConfig.name' is correct.

Django 3.2.X 开始支持 automatic discovery appconfig:https://docs.djangoproject.com/en/3.2/releases/3.2/#automatic-appconfig-discovery

如果 bk-iam 对 Django 版本有特殊要求(如:不支持 3.2.X),或许更好的方式去增加版本检查,避免给用户造成过多的困扰。

@homholueng
Copy link
Contributor Author

@uddmorningsun 感谢你的建议,我们会重新处理一下这里的处理逻辑👏🏻

@homholueng homholueng deleted the bugfix_iam_migration_app_name_fix branch October 13, 2021 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

直接下载源码iam migration的问题

3 participants