Commit Graph
99 Commits
Author SHA1 Message Date
David Wobrock b1f1ba62bb chore: upgrade dependencies
Also remove coverage run, as we don't really use it in this lib anyway.
2025-11-30 13:08:40 +01:00
David Wobrock 9deac1d813 chore: add Python 3.14 to test matrix 2025-11-30 12:51:33 +01:00
Mikuláš Poul 28a0686d3b Detect NULL default value as no default value.
This can happen when using `db_default=None` with `null=False` on a Django model field.
2025-11-30 12:45:24 +01:00
David Wobrock e85076f12b chore: add support for Django 5.2 2025-04-21 16:50:00 +02:00
Oleg Samokhin 0ee05a2b30 Support apps with custom label. 2025-04-21 16:43:45 +02:00
GergelyKalmar 572ab55cb0 Add py.typed file 2025-04-21 15:44:48 +02:00
David Wobrock 667a3632d7 Bump to 5.2.0. 2025-03-30 19:37:35 +02:00
Mikuláš Poul 979b6b1046 Allow ignoring initial migrations
Sometimes, if your apps have cyclic dependencies or complicated FK structure,
django migrations creates multiple initial migration files, which can very
easily fail linting because they are adding foreign keys or constraints etc.

This adds an option to automatically ignore all initial migrations.
2025-03-30 19:29:56 +02:00
markesha dfd83cf9b8 Fix #292 Run in FIPS enabled environment with python3.10
Python 3.10 and later versions rely on OpenSSL 1.1.1 or newer, which includes FIPS-compliance checks.

MD5 is not an approved algorithm in FIPS mode, so attempting to instantiate hashlib.md5() will fail when the system is running in FIPS mode.
Since MD5 is used in a non-security context, the change adds the [_usedforsecurity_](https://docs.python.org/3/library/hashlib.html) flag.

The same issue in Django https://github.com/django/django/commit/d10c7bfe56f025ccc690721c9f13e7029b777b9c
2025-03-30 19:03:28 +02:00
Chris Conn eb59c472fb Fix #264 -- Don't detect an index creation during a transaction with an exclusive lock, when the table is being created
Improve documentation on this issue.
2025-03-30 18:53:34 +02:00
David Wobrock 76525e47f8 Drop Python 3.7 and 3.8 support. 2025-03-02 18:11:07 +01:00
David Wobrock 816dd65e3c Support Python 3.13 and Django 5.1. 2025-03-02 18:11:07 +01:00
David Wobrock b9768534d1 Bump to 5.1.0. 2024-03-30 11:51:27 +01:00
Deven Dayal a230681de5 Don't consider partial unique index creation as making a column not nullable. 2024-03-30 11:48:49 +01:00
Artem Streltsov b15924ca0f Allow ignoring sqlmigrate errors. 2024-03-30 11:36:10 +01:00
David Wobrock 18a39cb3fc Support Django 5.0 db_default attribute.
A DB default is not considered backward incompatible, as the default value is kept on DB-level.
See https://docs.djangoproject.com/en/dev/releases/5.0/#database-computed-default-values
2024-03-29 12:39:30 +01:00
David Wobrock 3a557cbd7c Add changelog entry. 2024-02-04 20:33:26 +01:00
David Wobrock 0ce5bd8f4b Add Django 5.0 support. 2024-02-04 20:11:21 +01:00
David Wobrock bda054a2cb Remove codecov integration. 2024-02-04 20:11:21 +01:00
David Wobrock 6dad9c01eb Add changelog entry. 2024-02-04 19:53:48 +01:00
David Wobrock bb35cfa084 Add support for Python 3.12 2023-10-29 11:08:51 +01:00
David Wobrock 0320cf10dd Migrate from setup.py and setup.cfg to pyproject.toml 2023-10-29 10:56:37 +01:00
David Wobrock 3503367f1f Bump to 5.0.0 2023-07-09 14:43:55 +02:00
David Wobrock 5695a95f81 Move CHANGELOG line to new features section. 2023-07-09 14:42:35 +02:00
David Cain 15dbe22f24 Add a CHANGELOG entry for the new check
5.0.0 will be released soon, be sure that we document this new check!
2023-07-09 14:42:35 +02:00
Caspar Wylie 2d15ea84f9 Support partial function inspection in data migrations 2023-07-03 21:02:14 +02:00
David Wobrock 97a1f5c6c9 Fix #250 -- Don't consider partial index creation as making a column not nullable. 2023-07-03 20:41:03 +02:00
David Wobrock b6acc1dd22 Add Django 4.2 support in CHANGELOG 2023-07-03 20:41:03 +02:00
David Wobrock 202a6d9d5d Add files to .gitignore and other improvements. 2022-12-26 16:26:24 +01:00
David Wobrock f86e0622a5 Add pre-commit hook and use in CI. 2022-12-26 16:26:24 +01:00
David Wobrock 2ee7dac3b3 Add internal classes and add type hints + mypy. 2022-12-26 16:26:24 +01:00
David Wobrock f9a2e4189c Support Py3.11 and Django 4.1, and drop Django 2.1 support. 2022-12-17 11:45:19 +01:00
David Wobrock 9ad7bcced0 Add release not for IgnoreMigration.elidable=True change. 2022-10-03 15:47:49 +02:00
David Wobrock bef47906d1 Fix #209 - Raise when getting SQL statements fail. 2022-07-28 23:45:14 +02:00
David Wobrock f67f27354d Fix #218 - Handle model 'objects' call with other parts in the name. 2022-07-09 15:37:57 +02:00
David Wobrock ea227eb364 Bump to 4.1.0 2022-04-24 18:00:55 +02:00
David Wobrock 232c7dd136 Add row to changelog 2022-03-19 20:12:03 +01:00
David Wobrock c2ad3e6aeb Allow passing '--sql-analyser' to makemigrations command 2022-03-13 17:54:04 +01:00
David Wobrock c7d9129db9 Adapt 'warnings-as-errors' option to allow taking migration test codes as input 2022-03-13 17:26:40 +01:00
David Wobrock a04ecc078a Update CHANGELOG.md 2022-03-13 16:51:29 +01:00
David Wobrock 8e56562771 Bump to 4.0.0 2022-02-20 12:26:31 +01:00
David Wobrock 4fa6a33153 Fix #198 -- Allow using Django settings for linter configuration 2022-02-15 19:21:58 +01:00
David Wobrock 76a55dbb12 Raise when unsupported db vendor, and add option to specify SQL analyser 2022-01-30 15:20:18 +01:00
David Wobrock 5a6ddd0d63 Allow overriding any option through config file, and not only a subset 2022-01-28 21:48:05 +01:00
David Wobrock 3219f9cf8a Handle creating a unique index as adding a unique constraint 2022-01-28 21:23:44 +01:00
David Wobrock 3fbc720650 Add Django 4.0 support 2022-01-28 21:03:12 +01:00
David Wobrock 3da14f769e Drop Django 3.1 support (ended in 2021) 2022-01-28 21:03:12 +01:00
David Wobrock bba8cd259b Add Python 3.10 support 2022-01-28 21:03:12 +01:00
David Wobrock 7280b18098 Drop Python 3.6 which reached EOL December 2021 2022-01-28 21:03:12 +01:00
David Wobrock 7674a51bc9 Fix #178 -- Don't detect an index creation when the table is being created 2021-12-20 22:38:54 +01:00