diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 18:45:08 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 18:45:08 +0000 |
commit | f83d61a66f3c8c05353e1a0fbe38af9afc964b10 (patch) | |
tree | 3ded2d12d21efd11f2f4623c12ebed85d3e06359 | |
parent | fd7f8f9923a959149d62024ea409c7e31568fe56 (diff) |
automatic import of python-django-migration-linter
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-django-migration-linter.spec | 407 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 409 insertions, 0 deletions
@@ -0,0 +1 @@ +/django-migration-linter-4.1.0.tar.gz diff --git a/python-django-migration-linter.spec b/python-django-migration-linter.spec new file mode 100644 index 0000000..24f0c58 --- /dev/null +++ b/python-django-migration-linter.spec @@ -0,0 +1,407 @@ +%global _empty_manifest_terminate_build 0 +Name: python-django-migration-linter +Version: 4.1.0 +Release: 1 +Summary: Detect backward incompatible migrations for your django project +License: Apache License 2.0 +URL: https://github.com/3YOURMIND/django-migration-linter +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7a/fd/80041701f72b59423e9648c12fe783aff1f0c0986873a713bdd4ca32282d/django-migration-linter-4.1.0.tar.gz +BuildArch: noarch + +Requires: python3-django +Requires: python3-appdirs +Requires: python3-toml +Requires: python3-tox +Requires: python3-mysqlclient +Requires: python3-psycopg2-binary +Requires: python3-django-add-default-value +Requires: python3-coverage + +%description +# Django migration linter + +Detect backward incompatible migrations for your Django project. +It will save you time by making sure migrations will not break with a older codebase. + +[](https://actions-badge.atrox.dev/3YOURMIND/django-migration-linter/goto?ref=main) +[](https://codecov.io/gh/3YOURMIND/django-migration-linter) +[](https://pypi.python.org/pypi/django-migration-linter/) +[](https://github.com/3YOURMIND/django-migration-linter/pulls) +[](https://www.3yourmind.com/career) +[](https://github.com/3YOURMIND/django-migration-linter/stargazers) + +## Quick installation + +``` +pip install django-migration-linter +``` + +And add the migration linter your ``INSTALLED_APPS``: +``` + INSTALLED_APPS = [ + ..., + "django_migration_linter", + ..., + ] +``` + +## Usage example + +``` +$ python manage.py lintmigrations + +(app_add_not_null_column, 0001_create_table)... OK +(app_add_not_null_column, 0002_add_new_not_null_field)... ERR + NOT NULL constraint on columns +(app_drop_table, 0001_initial)... OK +(app_drop_table, 0002_delete_a)... ERR + DROPPING table +(app_ignore_migration, 0001_initial)... OK +(app_ignore_migration, 0002_ignore_migration)... IGNORE +(app_rename_table, 0001_initial)... OK +(app_rename_table, 0002_auto_20190414_1500)... ERR + RENAMING tables + +*** Summary *** +Valid migrations: 4/8 +Erroneous migrations: 3/8 +Migrations with warnings: 0/8 +Ignored migrations: 1/8 +``` + +The linter analysed all migrations from the Django project. +It found 3 migrations that are doing backward incompatible operations and 1 that is explicitly ignored. +The list of incompatibilities that the linter analyses [can be found at docs/incompatibilities.md](./docs/incompatibilities.md). + +More advanced usages of the linter and options [can be found at docs/usage.md](./docs/usage.md). + +## Integration + +One can either integrate the linter in the CI using its `lintmigrations` command, or detect incompatibilities during generation of migrations with +``` +$ python manage.py makemigrations --lint + +Migrations for 'app_correct': + tests/test_project/app_correct/migrations/0003_a_column.py + - Add field column to a +Linting for 'app_correct': +(app_correct, 0003_a_column)... ERR + NOT NULL constraint on columns + +The migration linter detected that this migration is not backward compatible. +- If you keep the migration, you will want to fix the issue or ignore the migration. +- By default, the newly created migration file will be deleted. +Do you want to keep the migration? [y/N] n +Deleted tests/test_project/app_correct/migrations/0003_a_column.py +``` + +The linter found that the newly created migration is not backward compatible and deleted the file after confirmation. +This behaviour can be the default of the `makemigrations` command through the `MIGRATION_LINTER_OVERRIDE_MAKEMIGRATIONS` Django setting. +Find out more about the [makemigrations command at docs/makemigrations.md](./docs/makemigrations.md). + +### More information + +Please find more documentation [in the docs/ folder](./docs/). + +Some implementation details [can be found in the ./docs/internals/ folder](./docs/internals/). + +### Blog post + +* [Keeping Django database migrations backward compatible](https://medium.com/3yourmind/keeping-django-database-migrations-backward-compatible-727820260dbb) +* [Django and its default values](https://medium.com/botify-labs/django-and-its-default-values-c21a13cff9f) + +### They talk about the linter + +* [Django News](https://django-news.com/issues/6?m=web#uMmosw7) +* [wemake-django-template](https://wemake-django-template.readthedocs.io/en/latest/pages/template/linters.html#django-migration-linter) +* [Testing Django migrations on sobolevn's blog](https://sobolevn.me/2019/10/testing-django-migrations#existing-setup) + +### Related + +* [django-test-migrations](https://github.com/wemake-services/django-test-migrations) - Test django schema and data migrations, including migrations' order and best practices. + +### License + +*django-migration-linter* is released under the [Apache 2.0 License](./LICENSE). + +##### Maintained by [David Wobrock](https://github.com/David-Wobrock) + + + + +%package -n python3-django-migration-linter +Summary: Detect backward incompatible migrations for your django project +Provides: python-django-migration-linter +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-django-migration-linter +# Django migration linter + +Detect backward incompatible migrations for your Django project. +It will save you time by making sure migrations will not break with a older codebase. + +[](https://actions-badge.atrox.dev/3YOURMIND/django-migration-linter/goto?ref=main) +[](https://codecov.io/gh/3YOURMIND/django-migration-linter) +[](https://pypi.python.org/pypi/django-migration-linter/) +[](https://github.com/3YOURMIND/django-migration-linter/pulls) +[](https://www.3yourmind.com/career) +[](https://github.com/3YOURMIND/django-migration-linter/stargazers) + +## Quick installation + +``` +pip install django-migration-linter +``` + +And add the migration linter your ``INSTALLED_APPS``: +``` + INSTALLED_APPS = [ + ..., + "django_migration_linter", + ..., + ] +``` + +## Usage example + +``` +$ python manage.py lintmigrations + +(app_add_not_null_column, 0001_create_table)... OK +(app_add_not_null_column, 0002_add_new_not_null_field)... ERR + NOT NULL constraint on columns +(app_drop_table, 0001_initial)... OK +(app_drop_table, 0002_delete_a)... ERR + DROPPING table +(app_ignore_migration, 0001_initial)... OK +(app_ignore_migration, 0002_ignore_migration)... IGNORE +(app_rename_table, 0001_initial)... OK +(app_rename_table, 0002_auto_20190414_1500)... ERR + RENAMING tables + +*** Summary *** +Valid migrations: 4/8 +Erroneous migrations: 3/8 +Migrations with warnings: 0/8 +Ignored migrations: 1/8 +``` + +The linter analysed all migrations from the Django project. +It found 3 migrations that are doing backward incompatible operations and 1 that is explicitly ignored. +The list of incompatibilities that the linter analyses [can be found at docs/incompatibilities.md](./docs/incompatibilities.md). + +More advanced usages of the linter and options [can be found at docs/usage.md](./docs/usage.md). + +## Integration + +One can either integrate the linter in the CI using its `lintmigrations` command, or detect incompatibilities during generation of migrations with +``` +$ python manage.py makemigrations --lint + +Migrations for 'app_correct': + tests/test_project/app_correct/migrations/0003_a_column.py + - Add field column to a +Linting for 'app_correct': +(app_correct, 0003_a_column)... ERR + NOT NULL constraint on columns + +The migration linter detected that this migration is not backward compatible. +- If you keep the migration, you will want to fix the issue or ignore the migration. +- By default, the newly created migration file will be deleted. +Do you want to keep the migration? [y/N] n +Deleted tests/test_project/app_correct/migrations/0003_a_column.py +``` + +The linter found that the newly created migration is not backward compatible and deleted the file after confirmation. +This behaviour can be the default of the `makemigrations` command through the `MIGRATION_LINTER_OVERRIDE_MAKEMIGRATIONS` Django setting. +Find out more about the [makemigrations command at docs/makemigrations.md](./docs/makemigrations.md). + +### More information + +Please find more documentation [in the docs/ folder](./docs/). + +Some implementation details [can be found in the ./docs/internals/ folder](./docs/internals/). + +### Blog post + +* [Keeping Django database migrations backward compatible](https://medium.com/3yourmind/keeping-django-database-migrations-backward-compatible-727820260dbb) +* [Django and its default values](https://medium.com/botify-labs/django-and-its-default-values-c21a13cff9f) + +### They talk about the linter + +* [Django News](https://django-news.com/issues/6?m=web#uMmosw7) +* [wemake-django-template](https://wemake-django-template.readthedocs.io/en/latest/pages/template/linters.html#django-migration-linter) +* [Testing Django migrations on sobolevn's blog](https://sobolevn.me/2019/10/testing-django-migrations#existing-setup) + +### Related + +* [django-test-migrations](https://github.com/wemake-services/django-test-migrations) - Test django schema and data migrations, including migrations' order and best practices. + +### License + +*django-migration-linter* is released under the [Apache 2.0 License](./LICENSE). + +##### Maintained by [David Wobrock](https://github.com/David-Wobrock) + + + + +%package help +Summary: Development documents and examples for django-migration-linter +Provides: python3-django-migration-linter-doc +%description help +# Django migration linter + +Detect backward incompatible migrations for your Django project. +It will save you time by making sure migrations will not break with a older codebase. + +[](https://actions-badge.atrox.dev/3YOURMIND/django-migration-linter/goto?ref=main) +[](https://codecov.io/gh/3YOURMIND/django-migration-linter) +[](https://pypi.python.org/pypi/django-migration-linter/) +[](https://github.com/3YOURMIND/django-migration-linter/pulls) +[](https://www.3yourmind.com/career) +[](https://github.com/3YOURMIND/django-migration-linter/stargazers) + +## Quick installation + +``` +pip install django-migration-linter +``` + +And add the migration linter your ``INSTALLED_APPS``: +``` + INSTALLED_APPS = [ + ..., + "django_migration_linter", + ..., + ] +``` + +## Usage example + +``` +$ python manage.py lintmigrations + +(app_add_not_null_column, 0001_create_table)... OK +(app_add_not_null_column, 0002_add_new_not_null_field)... ERR + NOT NULL constraint on columns +(app_drop_table, 0001_initial)... OK +(app_drop_table, 0002_delete_a)... ERR + DROPPING table +(app_ignore_migration, 0001_initial)... OK +(app_ignore_migration, 0002_ignore_migration)... IGNORE +(app_rename_table, 0001_initial)... OK +(app_rename_table, 0002_auto_20190414_1500)... ERR + RENAMING tables + +*** Summary *** +Valid migrations: 4/8 +Erroneous migrations: 3/8 +Migrations with warnings: 0/8 +Ignored migrations: 1/8 +``` + +The linter analysed all migrations from the Django project. +It found 3 migrations that are doing backward incompatible operations and 1 that is explicitly ignored. +The list of incompatibilities that the linter analyses [can be found at docs/incompatibilities.md](./docs/incompatibilities.md). + +More advanced usages of the linter and options [can be found at docs/usage.md](./docs/usage.md). + +## Integration + +One can either integrate the linter in the CI using its `lintmigrations` command, or detect incompatibilities during generation of migrations with +``` +$ python manage.py makemigrations --lint + +Migrations for 'app_correct': + tests/test_project/app_correct/migrations/0003_a_column.py + - Add field column to a +Linting for 'app_correct': +(app_correct, 0003_a_column)... ERR + NOT NULL constraint on columns + +The migration linter detected that this migration is not backward compatible. +- If you keep the migration, you will want to fix the issue or ignore the migration. +- By default, the newly created migration file will be deleted. +Do you want to keep the migration? [y/N] n +Deleted tests/test_project/app_correct/migrations/0003_a_column.py +``` + +The linter found that the newly created migration is not backward compatible and deleted the file after confirmation. +This behaviour can be the default of the `makemigrations` command through the `MIGRATION_LINTER_OVERRIDE_MAKEMIGRATIONS` Django setting. +Find out more about the [makemigrations command at docs/makemigrations.md](./docs/makemigrations.md). + +### More information + +Please find more documentation [in the docs/ folder](./docs/). + +Some implementation details [can be found in the ./docs/internals/ folder](./docs/internals/). + +### Blog post + +* [Keeping Django database migrations backward compatible](https://medium.com/3yourmind/keeping-django-database-migrations-backward-compatible-727820260dbb) +* [Django and its default values](https://medium.com/botify-labs/django-and-its-default-values-c21a13cff9f) + +### They talk about the linter + +* [Django News](https://django-news.com/issues/6?m=web#uMmosw7) +* [wemake-django-template](https://wemake-django-template.readthedocs.io/en/latest/pages/template/linters.html#django-migration-linter) +* [Testing Django migrations on sobolevn's blog](https://sobolevn.me/2019/10/testing-django-migrations#existing-setup) + +### Related + +* [django-test-migrations](https://github.com/wemake-services/django-test-migrations) - Test django schema and data migrations, including migrations' order and best practices. + +### License + +*django-migration-linter* is released under the [Apache 2.0 License](./LICENSE). + +##### Maintained by [David Wobrock](https://github.com/David-Wobrock) + + + + +%prep +%autosetup -n django-migration-linter-4.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-django-migration-linter -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 4.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +5b51a99e29d41d45e622f67cab3fc68f django-migration-linter-4.1.0.tar.gz |