summaryrefslogtreecommitdiff
path: root/django/db/backends/sqlite3/schema.py
AgeCommit message (Collapse)Author
2023-02-01[4.2.x] Refs #33476 -- Applied Black's 2023 stable style.David Smith
Black 23.1.0 is released which, as the first release of the year, introduces the 2023 stable style. This incorporates most of last year's preview style. https://github.com/psf/black/releases/tag/23.1.0 Backport of 097e3a70c1481ee7b042b2edd91b2be86fb7b5b6 from main
2022-11-17Fixed #28987 -- Fixed altering ManyToManyField when changing to ↵DevilsAutumn
self-referential.
2022-11-04Fixed #34138 -- Avoided table rebuild when adding inline m2m fields on SQLite.Mariusz Felisiak
Regression in 2f73e5406d54cb8945e187eff302a3a3373350be. Thanks David Wobrock for the report.
2022-08-08Fixed #33899 -- Fixed migration crash when removing indexed field on SQLite ↵Fiza Ashraf
3.35.5+. Regression in 702819227fd0cdd9b581cd99e11d1561d51cbeb. Thanks cessor for the report.
2022-05-02Fixed #33413 -- Made migrations propage collations to related fields.David Wobrock
2022-04-29Fixed #33670 -- Fixed altering primary key on SQLite.Mariusz Felisiak
2022-02-11Refs #32502 -- Avoided table rebuild when removing fields on SQLite 3.35.5+.Mariusz Felisiak
ALTER TABLE ... DROP COLUMN was introduced in SQLite 3.35+ however a data corruption issue was fixed in SQLite 3.35.5.
2022-02-07Refs #33476 -- Refactored code to strictly match 88 characters line length.Mariusz Felisiak
2022-02-07Refs #33476 -- Reformatted code with Black.django-bot
2022-01-04Fixed #33408 -- Fixed adding nullable unique fields on SQLite.Mariusz Felisiak
Regression in 2f73e5406d54cb8945e187eff302a3a3373350be. Thanks Alan Crosswell for the report.
2021-12-10Refs #32502 -- Avoided table rebuild when adding fields with no default on ↵Mariusz Felisiak
SQLite.
2021-12-10Refs #32502 -- Added SchemaEditor.prepare_default() on SQLite.Mariusz Felisiak
2021-11-15Refs #33288 -- Removed SQLite's ↵Simon Charette
DatabaseIntrospection._get_foreign_key_constraints(). The get_relations() method returns the exact same data in a more generic format.
2021-07-27Fixed #32962 -- Consolidated string concatenations in ↵Chris Jerdonek
BaseDatabaseSchemaEditor.column_sql().
2021-05-25Fixed #32780 -- Made Add/RemoveConstraint operations a noop for ↵Hannes Ljungberg
covering/deferrable unique constraints on SQLite.
2021-02-23Fixed #30916 -- Added support for functional unique constraints.Hannes Ljungberg
Thanks Ian Foote and Mariusz Felisiak for reviews.
2020-09-21Fixed #31777 -- Added support for database collations to Char/TextFields.Tom Carrick
Thanks Simon Charette and Mariusz Felisiak for reviews.
2020-08-13Fixed #31825 -- Made RenameField operation a noop for fields with db_column.Iuri de Silvio
2020-04-21Refs #30591 -- Adjusted table rebuild for non-pk relationship on SQLite.Simon Charette
The existing code was only accounting for primary key changes and not all unique key fields that can be referenced.
2020-04-21Fixed #31064 -- Recreated auto-created many-to-many tables on primary key ↵Simon Charette
data type change on SQLite. Both local and remote auto-created many-to-many relationships were affected.
2020-04-20Stopped rebuilding referenced tables multiple times on SQLite alterations.Simon Charette
2020-02-04Simplified imports from django.db and django.contrib.gis.db.Nick Pope
2019-08-01Fixed #30664 -- Fixed migrations crash when altering table on SQLite or ↵Ngalim Siregar
altering AutoField/BigAutoField on PostgreSQL for models with quoted db_table.
2019-01-12Fixed #30062 -- Added support for unique conditional constraints.Paveł Tyślacki
2019-01-01Fixed #30060 -- Moved SQL generation for indexes and constraints to ↵Paveł Tyślacki
SchemaEditor.
2018-12-22Refs #30033 -- Checked constraints before committing SQLite schema changes.Simon Charette
This order of operations is more in line with SQLite's documented table rebuild procedure and ensures that changes aren't committed if foreign key integrity is broken.
2018-12-22Renamed SQLite3 references to to SQLite.Simon Charette
The version suffix isn't part of the product name.
2018-12-17Refs #29182 -- Stopped relying on legacy alter table semantic on SQLite 3.26+.Simon Charette
SQLite 3.26 changed the behavior of table and column renaming operations to repoint foreign key references even if foreign key checks are disabled. This makes the workarounds in place to simulate this behavior unnecessary on SQLite 3.26+. Refs #30033.
2018-12-17Fixed #30033 -- Conformed to the recommended table alterations procedure on ↵Simon Charette
SQlite3. Refs #29182. The previous implementation was following a procedure explicitly documented as incorrect and was the origin of the breakage experienced on SQLite 3.26 release that were addressed by c8ffdbe514b55ff5c9a2b8cb8bbdf2d3978c188f. Thanks to Richard Hipp for pointing out the usage of the incorrect procedure.
2018-12-15Fixed #30023 -- Prevented SQLite schema alterations while foreign key checks ↵Simon Charette
are enabled. Prior to this change foreign key constraint references could be left pointing at tables dropped during operations simulating unsupported table alterations because of an unexpected failure to disable foreign key constraint checks. SQLite3 does not allow disabling such checks while in a transaction so they must be disabled beforehand. Thanks ezaquarii for the report and Carlton and Tim for the review.
2018-12-07Fixed #29182 -- Fixed schema table alteration on SQLite 3.26+.Simon Charette
SQLite 3.26 repoints foreign key constraints on table renames even when foreign_keys pragma is off which breaks every operation that requires a table rebuild to simulate unsupported ALTER TABLE statements. The newly introduced legacy_alter_table pragma disables this behavior and restores the previous schema editor assumptions. Thanks Florian Apolloner, Christoph Trassl, Chris Lamb for the report and troubleshooting assistance.
2018-11-13Refs #29641 -- Refactored database schema constraint creation.Simon Charette
Added a test for constraint names in the database. Updated SQLite introspection to use sqlparse to allow reading the constraint name for table check and unique constraints. Co-authored-by: Ian Foote <python@ian.feete.org>
2018-10-29Fixed #29868 -- Retained database constraints on SQLite table rebuilds.Simon Charette
Refs #11964. Thanks Scott Stevens for testing this upcoming feature and the report.
2018-10-27Fixed #29763 -- Added support for column renaming on SQLite.Hampus Dunström
2018-07-10Fixed #11964 -- Added support for database check constraints.Ian Foote
2017-12-22Fixed #28884 -- Fixed crash on SQLite when renaming a field in a model ↵Simon Charette
referenced by a ManyToManyField. Introspected database constraints instead of relying on _meta.related_objects to determine whether or not a table or a column is referenced on rename operations. This has the side effect of ignoring both db_constraint=False and virtual fields such as GenericRelation which aren't backend by database level constraints and thus shouldn't prevent the rename operations from being performed in a transaction. Regression in 095c1aaa898bed40568009db836aa8434f1b983d. Thanks Tim for the additional tests and edits, and Mariusz for the review.
2017-12-01Fixed #28849 -- Fixed referenced table and column rename on SQLite.Simon Charette
Thanks Ramiro for the input and Tim for the review.
2017-11-28Fixed #28854 -- Replaced type(True) with bool in sqlite's SchemaEditor.Дилян Палаузов
2017-11-23Used bytes.hex() and bytes.fromhex() to simplify.Sergey Fedoseev
2017-07-11Fixed #14204 -- Enforced SQLite foreign key constraints.Claude Paroz
Thanks Tim Graham for contributing to the patch and Simon Charette for advice and review.
2017-06-21Refs #25530 -- Deleted deferred SQL references on delete operation.Simon Charette
2017-06-21Refs #25530 -- Tracked references of deferred SQL statements.Simon Charette
2017-06-01Refs #23968 -- Removed unnecessary lists, generators, and tuple calls.Jon Dufresne
2017-02-28Refs #27656 -- Updated django.db docstring verbs according to PEP 257.Anton Samarchyan
2017-01-25Refs #23919 -- Replaced super(ClassName, self) with super().chillaranand
2017-01-18Refs #23919 -- Removed six.<various>_types usageClaude Paroz
Thanks Tim Graham and Simon Charette for the reviews.
2016-08-05Fixed #26808 -- Added Meta.indexes for class-based indexes.Akshesh
* Added the index name to its deconstruction. * Added indexes to sqlite3.schema._remake_table() so that indexes aren't dropped when _remake_table() is called. Thanks timgraham & MarkusH for review and advice.
2016-07-18Removed unnecessary looping in sqlite3 SchemaEditor.akki
2016-07-06Fixed #26841 -- Avoid remake tables for altering togethers in sqlite3 (#6888)akki
alter_index_together and alter_unique_together no more use _remake_table method in sqlite3
2016-05-17Fixed #26613 -- Made sqlite3 optional in SchemaEditor.quote_value().Philip Liberato