diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index df5d4d98..559b8402 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: matrix: os: [ubuntu-20.04] python-version: ['3.8'] - toxenv: [django22, django30, django31, django32, quality] + toxenv: [django22, django30, django31, django32, quality, check_keywords] steps: - uses: actions/checkout@v2 diff --git a/Makefile b/Makefile index a0add618..5bbab93f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: clean quality requirements validate test test-python quality-python +.PHONY: clean quality requirements validate test test-python quality-python check_keywords clean: find . -name '__pycache__' -exec rm -rf {} + @@ -53,3 +53,6 @@ test-python: clean ## run tests using pytest and generate coverage report pytest test: test-python ## run tests and generate coverage report + +check_keywords: ## Scan the Django models in all installed apps in this project for restricted field names + python manage.py check_reserved_keywords --override_file db_keyword_overrides.yml diff --git a/db_keyword_overrides.yml b/db_keyword_overrides.yml new file mode 100644 index 00000000..dcc39cde --- /dev/null +++ b/db_keyword_overrides.yml @@ -0,0 +1,10 @@ +# This file is used by the 'check_reserved_keywords' management command to allow specific field names to be overridden +# when checking for conflicts with lists of restricted keywords used in various database/data warehouse tools. +# For more information, see: https://github.com/edx/edx-django-release-util/release_util/management/commands/check_reserved_keywords.py +# +# overrides should be added in the following format: +# - ModelName.field_name +--- +MYSQL: +SNOWFLAKE: +STITCH: diff --git a/tox.ini b/tox.ini index 10f39f04..d9f8e37f 100644 --- a/tox.ini +++ b/tox.ini @@ -23,3 +23,10 @@ deps = commands = make quality +[testenv:check_keywords] +whitelist_externals = + make +deps = + -r{toxinidir}/requirements/testing.txt +commands = + make check_keywords