Andrzej Pragacz
72729f844e
Fixed #23794 -- Fixed migrations crash when removing a field that's part of index/unique_together.
2014-11-21 10:55:19 -05:00
Patryk Zawadzki
21e21c7bc2
Fixed #23844 -- Used topological sort for migration operation dependency resolution.
...
This removes the concept of equality between operations to guarantee
compatilibity with Python 3.
Python 3 requires equality to result in identical object hashes. It's
impossible to implement a unique hash that preserves equality as
operations such as field creation depend on being able to accept
arbitrary dicts that cannot be hashed reliably.
Thanks Klaas van Schelven for the original patch in
13d613f800
.
2014-11-20 12:49:49 -05:00
Carl Meyer
ab2819aa7b
Fixed #23410 -- Avoided unnecessary rollbacks in related apps when migrating backwards.
2014-11-19 16:11:44 -07:00
Stratos Moros
cf7a2a000e
Fixed #22248 -- Made RenameModel reversible
2014-11-19 14:11:35 +02:00
Markus Holtermann
7b4a994599
Fixed #23859 -- Fixed a migration crash when a field is renamed that is part of an index_together
2014-11-17 19:15:07 +01:00
twidi
19ae13d9ed
Avoided unneeded calls to state.render() in migrations.
2014-11-17 18:44:09 +01:00
twidi
82aca216e1
Reordered condition to avoid calling allow_migrate() if unneeded.
2014-11-17 18:32:42 +01:00
Carl Meyer
1ed9b9e2e2
Merge pull request #3536 from Zweedeend/ticket_23837
...
Fixes #23837 : Replace list with deque in migration-planner for improved performance.
2014-11-15 18:56:52 +01:00
Andrew Godwin
c5def493d0
Fixed #23835 : Changed circular dependency in DFS to be less infinite
2014-11-15 17:39:02 +01:00
Niels Kouwenhoven
fefb77934e
Fixes #23837 : Replace list.pop(0) by deque.popleft() in dfs function in migrations
2014-11-15 16:34:20 +01:00
Tim Graham
83d104d61a
Revert "Use topological sort for migration operation dependency resolution"
...
This commit broke the tests on Python 3.
This reverts commit 13d613f800
.
2014-11-15 15:28:04 +01:00
Klaas van Schelven
13d613f800
Use topological sort for migration operation dependency resolution
...
rather than an ad-hoc algorithm
2014-11-15 14:45:42 +01:00
Markus Holtermann
c7c098cf97
Fixed #23770 -- Changed serialization strategy for floats with respect to NaN and Inf
...
Thanks to w0rp for the report
2014-11-06 15:30:30 +01:00
twidi
fd061b6591
Fixed #23733 -- Fixed squashing migrations that depend on multiple apps.
2014-10-30 14:39:11 -04:00
Markus Holtermann
85086c8158
Fixed #23556 -- Raised a more meaningful error message when migrations refer to an unavailable node
2014-10-30 00:17:29 +01:00
Markus Holtermann
5c9c1e029d
Fixed #23614 -- Changed the way the migration autodetector orders unique/index_together
...
Thanks to Naddiseo for the report and Tim Graham for the review
2014-10-29 13:05:42 -04:00
Berker Peksag
c9178ef17a
Limited lines to 119 characters in django/{contrib,db}.
...
Refs #23395 .
2014-10-29 07:59:35 -04:00
Claude Paroz
e50e0ee27b
Fixed #23618 -- Allowed apps with no models to still have migrations
...
Basically a4737bf6ae
reapplied.
2014-10-24 15:10:39 +02:00
Tim Graham
41b337efa0
Fixed #23630 -- Made AlterModelTable rename auto-created M2M tables.
...
Thanks Naddiseo for the report, Andrew Godwin for guidance,
and Shai Berger for review.
2014-10-23 08:05:39 -04:00
Tianyi Wang
5732424bee
Fixed #23629 -- Allowed autodetector to detect changes in Meta.db_table.
...
Thanks Naddiseo for reporting.
2014-10-20 13:14:44 -04:00
Markus Holtermann
f633ba778d
Fixed #23609 -- Fixed IntegrityError that prevented altering a NULL column into a NOT NULL one due to existing rows
...
Thanks to Simon Charette, Loic Bistuer and Tim Graham for the review.
2014-10-09 21:32:06 +07:00
Markus Holtermann
85f6d89313
Fixed #23426 -- Allowed parameters in migrations.RunSQL
...
Thanks tchaumeny and Loic for reviews.
2014-10-02 11:52:40 -04:00
Rudy Mutter
a407b846b4
Fixed #23365 -- Added support for timezone-aware datetimes to migrations.
2014-09-29 20:45:43 -04:00
Thomas Chaumeny
b2aad7b836
Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.
...
Thanks Collin Anderson for the review.
2014-09-29 00:01:38 +07:00
Loic Bistuer
b23d47412c
Fixed #23560 -- Fixed MigrationWrite to handle builtin types without imports.
...
Thanks Tim Graham for the review.
2014-09-27 00:36:28 +07:00
Markus Holtermann
215aa4f53b
Fixed #23415 -- Added fields for unmanaged and proxy model migrations.
...
Thanks sky-chen for the report.
2014-09-25 10:25:03 -04:00
Tim Graham
d7ab2cefb7
Revert "Fixed #23474 -- Prevented migrating backwards from unapplying the wrong migrations."
...
This reverts commit abcf28a076
.
2014-09-24 15:49:30 -04:00
Markus Holtermann
b9a670b227
Fixed #23426 -- Don't require double percent sign in RunSQL without parameters
2014-09-24 07:20:57 -04:00
Claude Paroz
2a1bdf5ced
Called table_names instead of get_table_list in migrations
2014-09-23 20:13:31 +02:00
valtron
abcf28a076
Fixed #23474 -- Prevented migrating backwards from unapplying the wrong migrations.
2014-09-15 14:56:59 -04:00
Carl Meyer
afa119918c
Fixed #23484 -- Add comment in AppConfigStub clarifying app name vs app label.
2014-09-12 15:45:08 -06:00
Szilveszter Farkas
5e32605ce9
Fixed #23483 -- Prevented ImproperlyConfigured with dotted app names
...
Made sure the app labels stay unique for the AppConfigStubs, so
migrations wouldn't fail if two dotted app names has the same last part
(e.g. django.contrib.auth and vendor.auth)
2014-09-12 14:58:54 -06:00
Markus Bertheau
61f56e239f
Corrected grammar in migrations error message.
2014-09-10 10:32:33 -04:00
Markus Holtermann
6d5958c7a3
Fixed #23452 -- Prevented infinite migrations for empty unique/index_together.
...
Thanks fwkroon for the report.
2014-09-10 07:54:16 -04:00
Markus Holtermann
d4467ede77
Updated links to point to dev documentation.
2014-09-08 15:32:32 -04:00
Andrew Pinkham
4680d25df2
Fixed #22951 -- Checked for types during deep_deconstruct migration serialization process.
...
Thanks Sam Hartsfield for the report.
2014-09-08 07:39:09 -04:00
Ben Reilly
b878c73fc3
switch out recursive dfs for stack based approach, to avoid possibly hitting the recursion limit
2014-09-05 15:26:05 -07:00
Claude Paroz
885ff6845e
Revert "Fixed #23384 -- Allowed overriding part of a dictionary-type setting"
...
This reverts commit 66757fee7e
.
Discussions have led to think that this functionality does not
bring significant benefits to justify the added complexity.
Read also discussions on ticket #22734 .
2014-09-05 20:06:02 +02:00
Raffaele Salmaso
1435cfbe8d
Fixed #23302 -- Added --name/-n option to makemigrations command
2014-09-02 21:09:18 -04:00
Dave Hall
e03b7940e5
Fixed #22918 -- Fixed SeparateDatabaseAndState crash
2014-09-02 08:06:44 -04:00
Claude Paroz
66757fee7e
Fixed #23384 -- Allowed overriding part of a dictionary-type setting
...
This change is needed for upcoming changes where settings might be
grouped in a parent dictionary.
Thanks Tim Graham for the review.
2014-08-30 12:37:10 +02:00
Raffaele Salmaso
abd640fbdf
Fixed #23341 -- Added migration name to nonexistent migration error in makemigrations.
2014-08-23 19:18:03 -04:00
Markus Holtermann
144cff3f51
Fixed #23322 -- Use resolved swappable model for dependency resolution during makemigrations
2014-08-20 16:04:21 -04:00
Andrew Godwin
9247da1032
Fixed #23315 : Operational dependency fail with mixed create/add
2014-08-19 19:51:12 -07:00
Lee Sanghyuck
11d9cbe2f4
Fixed #23316 -- Added datetime.time serialization in migrations.
2014-08-19 13:31:46 -04:00
Andrew Godwin
8f9862cd4d
Fixed #23275 : Unmanaged models kept by autodetector, ignored by ops
2014-08-12 12:49:20 -07:00
Andrew Godwin
51673c146e
Don't treat .pyc/pyo files as migrations. Refs #23237 among others.
2014-08-08 09:57:31 +10:00
Andrew Godwin
157c42a976
Use smart_text rather than naive forcing-to-unicode for state reading
2014-08-07 22:34:07 +10:00
Andrew Godwin
5257b85ab8
Fixed #23226 : Model options appearing as bytes type in migrations
2014-08-07 12:13:37 +10:00
Andrew Godwin
dfe86449c9
Fixed #23244 : Error altering FK to non-FK in migrations
2014-08-07 11:52:31 +10:00
Simon Charette
cbb29af1aa
Fixed #23160 -- Correctly rename models with self referential fields.
...
Thanks to whitews AT gmail for the report.
2014-08-03 15:27:01 -04:00
Tim Graham
9a922dcad1
Fixed flake8 warnings.
2014-07-31 08:06:46 -04:00
Andrew Godwin
096a5de5d2
Fixed #23092 : Squashing handles external dependencies
2014-07-29 10:22:00 -07:00
Andrew Godwin
a338e07735
Fixed #23101 : Prefer doing deletes before creates in autodetector.
...
Makes declined or missed renames still work (but drop data).
2014-07-29 09:38:51 -07:00
Andrew Godwin
4418559138
Fix soft_applied in a way that doesn't break tests
2014-07-29 09:24:07 -07:00
Andrew Godwin
5ed3834cbe
Make detect_soft_applied exit correctly on non-create migrations
2014-07-29 09:20:03 -07:00
Andrew Godwin
d6e73a876d
Fixed #23121 : AlterModelOptions operation not changing state right
2014-07-28 10:47:28 -07:00
Andrew Godwin
cb60d22bd9
Fixed #23100 : Individual FK creation missing dependencies
2014-07-28 10:32:43 -07:00
Andrew Godwin
805774df1f
Fixed #22944 : Bad dependency on FK alteration in autodetector
2014-07-26 09:22:19 -07:00
Andrew Godwin
6f386b0acb
Restore support for reading __latest__ for compatability
2014-07-25 09:43:54 -07:00
Andrew Godwin
a64bc3df77
Fixed #23093 : soft application detection for swapped models
2014-07-25 09:35:38 -07:00
Andrew Godwin
ed4812692e
Merge pull request #2938 from dekkers/ticket_23071
...
Fixed #23071 -- Use last migration's name in dependency to other app
2014-07-25 08:53:57 -07:00
Tim Graham
64e75c47ef
Fixed #23014 -- Infinite migration regression with unique/index_together.
2014-07-24 14:27:10 -04:00
Jeroen Dekkers
3582698c13
Fixed #23071 -- Use last migration's name in dependency to other app
...
Changed the autodetector to lookup the name of the other app's last
migration in the graph and use that as dependency instead of using
__latest__.
2014-07-22 01:03:02 +02:00
Andrew Godwin
e24e9e0438
Fixed #23014 : Renaming not atomic with unique together
2014-07-21 11:36:34 +01:00
Andrew Godwin
145d231782
Fixed #23041 : Bad base dependencies for proxy models
2014-07-16 09:59:08 -07:00
Tim Graham
0154965392
Fixed #23013 -- Fixed removing unique_together/index_together constraints in migrations.
...
Thanks melinath for the report.
2014-07-15 15:20:59 -04:00
Tim Graham
9a2ab62977
Fixed #23008 -- Fixed typo causing bad migration dependencies.
...
Thanks semenov for the report and Florian for investigation.
2014-07-15 08:48:29 -04:00
Andrew Godwin
ebb13bbd88
Fixed #22983 : Alert when squashing RunPython operations with referred functions.
2014-07-11 19:00:39 -07:00
Andrew Godwin
b02abd688a
Fixed #22922 : Better error message for InvalidBasesError.
2014-07-09 23:57:35 -07:00
Andrew Godwin
008bff92b7
Fixed #22970 : Incorrect dependencies for existing migrated apps
2014-07-09 23:53:43 -07:00
Loic Bistuer
2572c07cc6
Fixed #22906 -- Added a more helpful repr to migrations' ModelState.
...
Thanks Collin Anderson for the report and original patch.
2014-07-06 14:56:18 +07:00
Tim Graham
ab431fbd4f
Fixed flake8 indentation.
2014-07-05 20:24:00 -04:00
Andrew Godwin
f751109cb2
Merge pull request #2881 from charettes/ticket-22943-compiled-regex-deconstruction
...
Fixed #22943 -- Correctly serialize compiled regexes.
2014-07-05 16:37:10 -07:00
Andrew Godwin
80a12f21e3
Fixed #22960 : Bad handling of relations as PKs in autodetector
2014-07-05 16:33:03 -07:00
Simon Charette
35c2c37041
Fixed #22943 -- Correctly serialize compiled regexes.
...
Thanks to antialiasis at gmail dot com for the patch.
2014-07-04 13:34:20 -04:00
Colin Wood
27ee608b55
Fixed #22940 -- Added missing string iterpolation parameters in migrations.writer error.
...
Forwardport of f5740af868
from stable/1.7.x
2014-07-02 12:45:02 -04:00
Tim Graham
70576740b0
Fixed #22917 -- Fixed typo in AlterIndexTogether.describe().
2014-06-27 10:34:48 -04:00
Tim Graham
e0cd07ec2f
Fixed #22903 -- Fixed migration generation if index_together or unique_together is removed from a model.
2014-06-25 10:02:12 -04:00
Andrew Godwin
fe262c0b84
Fixed #22708 : Typo in autodetector base dependency gen
2014-06-23 20:48:33 -07:00
Chris Beaven
21c496ea52
Fixed #22881 -- Better soft_applied migration detection
2014-06-23 13:36:22 +12:00
Andrew Godwin
8b878c7a64
Include swapped apps in autodetector state
2014-06-22 13:00:49 -07:00
Andrew Godwin
b30d32ff24
Fixed #22875 : Optimizer did not take through= into account.
2014-06-22 11:23:45 -07:00
Andrew Godwin
2cee1d4642
Fixed #22861 : Internal migrations done first so __first__ works
...
Thanks to Chris Beaven.
2014-06-17 23:28:35 -07:00
Andrew Godwin
09b63a7cce
Fix __latest__ to actually resolve to the latest migration
2014-06-17 22:12:31 -07:00
Andrew Godwin
8d2ac948a9
Fixed #22853 : Swapped models are now ignored for migration operations.
2014-06-17 17:45:38 -07:00
Víðir Valberg Guðmundsson
3a6cb9f497
Fixed #22577 : Python 3 broke on non-module migrations directory
2014-06-17 18:21:38 +02:00
Andrew Godwin
4169d4694a
Ignore more blank throughs on swapped-out M2Ms
2014-06-16 15:09:27 -07:00
Andrew Godwin
fa9a26745f
Ignore through being None on some special cases of fields.
2014-06-16 14:58:35 -07:00
Tim Graham
a96dbda6d3
Fixed flake8 error.
2014-06-16 15:45:07 -04:00
Andrew Godwin
6e3ac5f474
Fixed #22847 : Optimizer wasn't expecting unresolved FKs
2014-06-16 10:28:31 -07:00
Andrew Godwin
067b9668fb
Fixed #22783 : Make sure swappable models come first in creation
2014-06-16 10:20:05 -07:00
Andrew Godwin
2b79be2bee
Fixed #22848 : Ignore no-migrations errors during makemigrations only
2014-06-16 09:58:35 -07:00
Andrew Godwin
f047dd2f3e
Use __first__ not __latest__ for unknown app dependencies
2014-06-16 09:54:43 -07:00
Matthew Schinckel
bb39037fcb
Fixed #22788 -- Ensured custom migration operations can be written.
...
This inspects the migration operation, and if it is not in the
django.db.migrations module, it adds the relevant imports to the
migration writer and uses the correct class name.
2014-06-16 12:28:52 -04:00
Alex Gaynor
d17a4cb037
Fixed several flake8 errors
2014-06-15 20:45:15 -04:00
Andrew Godwin
c1276785f9
Fixed #22568 : Better proxy model support in migrations
2014-06-15 16:01:49 -07:00
Andrew Godwin
a8ce5fdc28
Fixed #22470 : Full migration support for order_with_respect_to
2014-06-15 14:56:51 -07:00
Andrew Godwin
a58f49d104
Persist non-schema-relevant Meta changes in migrations
2014-06-15 12:34:02 -07:00
Andrew Godwin
f717ef083a
Fixed #22833 : Autodetector not doing through mapping correctly
2014-06-15 12:06:48 -07:00
Andrew Godwin
edd9f8a7b2
Fixed #22563 : Added migration to admin, fixed a few more loader issues.
2014-06-15 11:25:39 -07:00
Andrew Godwin
1e5c01c26e
Improve error message for missing migrations in an app
2014-06-15 11:05:40 -07:00
Andrew Godwin
386166970c
Fix test breakage from previous state fix
2014-06-12 11:12:07 -07:00
Andrew Godwin
7b17350a1b
Fixed #22823 (and partly #22563 ) - FKs from unmigrated apps breaking state.
...
Thanks to bendavis78 for the test and diagnostic work.
2014-06-12 10:22:43 -07:00
Andrew Godwin
3f91238adf
Fixed #22777 : Add dependency on through for autodetected M2M adds
2014-06-08 17:12:59 -07:00
Andrew Godwin
4ce7a6bc84
Fixed #22750 , #22248 : Model renaming now also alters field FKs
2014-06-07 18:18:02 -07:00
Tim Graham
1e84d261d6
Removed usage of deprecated django.utils.importlib.
2014-06-07 21:10:44 -04:00
Andrew Godwin
6fd455adfc
Fixed #22436 : More careful checking on method ref'ce serialization
2014-06-07 17:05:51 -07:00
Tim Graham
b5a54168f9
Fixed flake8 errors.
2014-06-06 08:29:27 -04:00
Andrew Godwin
1fe941adb0
Prevent operation pollution by later operations of fields
2014-06-05 23:34:13 -07:00
Andrew Godwin
aa12ea05ce
Rewrote migration autodetector to involve actual computer science.
...
Fixes #22605 , #22735 ; also lays the ground for some other fixes.
2014-06-05 23:25:35 -07:00
Andrew Godwin
5826dc5282
Merge pull request #2736 from SmileyChris/migration-run_before
...
Fixed #22725 - Migration.run_before does nothing
2014-06-05 20:29:26 -07:00
Simon Charette
7a38f88922
Fixed #22659 -- Prevent model states from sharing field instances.
...
Thanks to Trac alias tbartelmess for the report and the test project.
2014-06-01 15:10:38 -04:00
Moayad Mardini
56cfa508c7
Fixed #22682 -- `makemigrations` will create `MIGRATION_MODULES` package
...
`makemigrations` will automatically create the package specified
in `MIGRATION_MODULES` if it doesn't already exist.
Thanks ovidiuc4 for the report.
2014-05-30 01:23:09 +03:00
Chris Beaven
45fa520187
Implement Migration.run_before
...
This attribute (used for reverse dependencies) was previously declared
and mentioned in the code, but never actually used.
2014-05-29 22:42:11 +12:00
Moayad Mardini
63fc91b3ca
Fixed #22676 -- makemigrations --dry-run should not ask for defaults
...
Made the fix in InteractiveMigrationQuestioner class code, rather than
MigrationAutodetector, because --dry-run shouldn't affect whether
MigrationAutodetector will detect non-nullable fields, but the
questioner should skip the question and returns a None for default
(since that won't be used anyway) if --dry-run is used.
2014-05-24 09:56:18 -04:00
Moayad Mardini
ad994a3c5b
Fixed #22679 -- Fixed empty tuple serialization in MigrationWriter.
...
Thanks rockallite.wulf for the report.
2014-05-22 16:15:09 +02:00
Marc Tamlyn
6ab67919ac
Made nested deconstruction support both forms of deconstruct()
...
Nested deconstruction should (silently) handle Field.deconstruct() as
well as other arbitrary deconstructable objects. This allows having a
field in the deconstruction of another field.
2014-05-22 13:23:51 +01:00
Andrew Godwin
12c72796c3
Revert "Fixed #22645 : Allow apps with no models module to still have migrations"
...
This reverts commit a4737bf6ae
.
2014-05-20 16:53:21 +01:00
Andrew Godwin
a4737bf6ae
Fixed #22645 : Allow apps with no models module to still have migrations
2014-05-20 13:19:17 +01:00
Claude Paroz
e520a73eee
Harmonized some PEP 0263 coding preambles
2014-05-15 19:58:41 +02:00
Andrew Godwin
5400b29ebf
Fixed #22325 : Ignore __first__ dependencies to your own app
2014-05-08 21:38:56 -07:00
Andrew Godwin
5182efce8d
Fixed #22563 : Ignore AUTH_USER_MODEL errors in from_state
2014-05-08 21:34:30 -07:00
Aymeric Augustin
b1432bfc22
Appeased flake8.
2014-05-08 21:49:54 +02:00
Andrew Godwin
5a917cfef3
Fixed #22496 : Data migrations get transactions again!
2014-05-07 14:28:34 -07:00
Andrew Godwin
fc974313b8
Fixed #22563 : Better error message when trying to change AUTH_USER_MODEL
...
You're not allowed to do this after you've made migrations; see ticket
for more details.
2014-05-07 13:05:11 -07:00
Andrew Godwin
f9d7e18dc5
Fixed #22576 : Ensure makemigrations doesn't touch the database.
2014-05-06 22:41:59 -07:00
Claude Paroz
da9cf53cb5
Fixed #22564 -- Prevented unneeded bytestrings in migrations
...
In some cases, this could lead to migrations written with Python 2
being incompatible with Python 3.
Thanks Tim Graham for the report and Loïc Bistuer for the advices.
2014-05-06 09:13:07 +02:00
Claude Paroz
12474dacef
Added a bunch of missing unicode_literals
...
Refs #22564 .
2014-05-06 09:13:07 +02:00
Tim Graham
3818d96426
Fixed #22435 -- Prevented adding a ManyToManyField from prompting for a default.
...
Thanks andrewsg for the report.
2014-05-02 20:46:47 -04:00
Chris Beaven
a0c4b8465d
Fix migration autodector to work correctly with custom deconstructed values
2014-05-02 15:08:19 +12:00
Tim Graham
45c2d1f5d9
flake8 fixes.
2014-04-30 18:33:46 -04:00
Andrew Godwin
8f6dff372b
Fixed #22485 : Include all unmigrated apps in project state by default.
2014-04-30 12:25:12 -07:00
Claude Paroz
7c54f8cced
Fixed #22474 -- Made migration recorder aware of multiple databases
...
Thanks Tim Graham for the review.
2014-04-30 16:53:20 +02:00
Aymeric Augustin
8b5b199e20
Fixed #3214 -- Stopped parsing SQL with regex.
...
Avoided introducing a new regex-based SQL splitter in the migrations
framework, before we're bound by backwards compatibility.
Adapted this change to the legacy "initial SQL data" feature, even
though it's already deprecated, in order to facilitate the transition
to migrations.
sqlparse becomes mandatory for RunSQL on some databases (all but
PostgreSQL). There's no API to provide a single statement and tell
Django not to attempt splitting. Since we have a more robust splitting
implementation, that seems like a good tradeoff. It's easier to add a
new keyword argument later if necessary than to remove one.
Many people contributed to both tickets, thank you all, and especially
Claude for the review.
Refs #22401 .
2014-04-26 17:46:23 +02:00
Tim Graham
471fb04a30
Fixed flake8 errors.
2014-04-20 13:08:04 -04:00
Andrew Gorcester
956bd64424
Fixed #22397 -- Issues removing M2M field with explicit through model
...
Changed the migration autodetector to remove models last so that FK
and M2M fields will not be left as dangling references. Added a check
in the migration state renderer to error out in the presence of
dangling references instead of leaving them as strings. Fixed a bug
in the sqlite backend to handle the deletion of M2M fields with
"through" models properly (i.e., do nothing successfully).
Thanks to melinath for report, loic for tests and andrewgodwin and
charettes for assistance with architecture.
2014-04-18 16:44:47 -04:00
Simon Charette
0d397e5a5b
Revert "Fixed #22397 -- Issues removing M2M field with explicit through model."
...
This reverts commit 00e3b9a2a9
.
It's causing a regression when tested with the proxy_model_inheritance tests.
2014-04-18 01:27:30 -04:00
Andrew Gorcester
00e3b9a2a9
Fixed #22397 -- Issues removing M2M field with explicit through model.
...
Changed the migration autodetector to remove models last so that FK
and M2M fields will not be left as dangling references. Added a check
in the migration state renderer to error out in the presence of
dangling references instead of leaving them as strings. Fixed a bug
in the sqlite backend to handle the deletion of M2M fields with
"through" models properly (i.e., do nothing successfully).
Thanks to melinath for report, loic for tests and andrewgodwin and
charettes for assistance with architecture.
2014-04-17 12:54:35 -04:00
Simon Charette
72d3889db4
Fixed #22350 -- Consistently serialize bytes and text in migrations.
...
Thanks to @treyhunner and Loïc for their suggestions and review.
2014-04-13 18:22:26 -04:00
Simon Charette
074d3183d9
Fixed #22363 -- Correctly serialize `django.utils.datetime_safe` objects.
...
Thanks to linovia for the report.
2014-04-03 14:54:16 -04:00
Loic Bistuer
0fd51cf0bd
Fixed #22319 -- Fixed migration external dependencies when there are internal dependencies.
2014-03-31 06:50:38 -04:00
Tim Graham
42336c84a0
Fixed #22331 -- Made MigrationAutodetector ignore unmanaged models.
...
This commit reverts 69d4b1c
and tackle the issue from a different angle.
Models remain present in the project state, but are now ignored by the
autodetector.
2014-03-25 18:30:58 -04:00
Loic Bistuer
69d4b1c3ea
Fixed #22331 -- Fixed migrations ProjectState to ignore unmanaged models.
2014-03-25 10:33:44 -04:00
Stephen Burrows
35ed792cf2
Fixed #22300 -- Fixed crash in migrations when changing non-relational field to relational.
2014-03-25 07:46:15 -04:00
Andrew Godwin
831ce69cbb
Mark model renaming as irreversible for now ( #22248 )
2014-03-19 21:25:26 -07:00
Andrew Godwin
81f5408c7a
Fixed #22275 : unique_together broken if ForeignKey split into new file.
...
Thanks to bak1an for the patch.
2014-03-19 21:23:21 -07:00
Chris Beaven
107c9f5453
Fix AlterField migrations that are related to a RenameModel migration
2014-03-11 17:13:26 +13:00
Chris Beaven
40f6ca54f8
Fix autodetector creation of RenameModel migration to capitalize model names
2014-03-11 12:23:45 +13:00
Chris Beaven
7feb70eef3
Fixed #22239 -- Add auto detection of renamed models
2014-03-10 13:55:44 +13:00
Andrew Godwin
28779abb75
Fix bad conflict detection during makemigrations
2014-03-08 13:53:20 -08:00
Andrew Godwin
1232acb884
Don't allow really long migration names
2014-03-06 13:34:31 -08:00
Andrew Godwin
e46e15e5a1
Fixed #22204 : Bad circular-dep-breaking if more than one per run
2014-03-06 13:22:42 -08:00
Alex Gaynor
a248c88372
Fixed three small flake8 violations.
2014-03-04 15:13:15 -08:00
Loic Bistuer
6436f1fad9
Fixed #21893 -- ModelState didn't account for MTI parents inherited from abstract models.
2014-03-05 03:25:14 +07:00
Rodolfo Carvalho
0d91225892
Fixed many typos in comments and docstrings.
...
Thanks Piotr Kasprzyk for help with the patch.
2014-03-03 07:38:09 -05:00
Anubhav Joshi
bb2ca9fe6c
Fixed #22172 -- Allowed index_together to be a single list (rather than list of lists)..
...
Thanks EmilStenstrom for the suggestion.
2014-03-01 15:44:42 -05:00
Andrew Godwin
cbd04c7c49
Fix keyword agument names in RunPython to be positional
2014-02-28 09:22:48 -08:00
Andrew Gorcester
202bf69c2f
Fixed #22095 -- Enabled backward migrations for RunPython operations
...
Added reversible property to RunPython so that migrations will not
refuse to reverse migrations including RunPython operations, so long as
reverse_code is set in the RunPython constructor. Included tests to
check the reversible property on RunPython and the similar RunSQL.
2014-02-23 09:30:02 +01:00
Andrew Godwin
3c547a423f
Merge pull request #2270 from bmispelon/ticket-22030
...
Fixed #22030 -- Don't assume that all fields have a swappable_setting at...
2014-02-17 01:16:49 +00:00
Anton Baklanov
0bd92d68ad
Fixed #22035 -- reordered migration operations
...
Now AddField actions appear in operations list before AlterUniqueTogether
actions.
Thanks to SmileyChris for the report.
2014-02-14 20:00:39 -05:00
Baptiste Mispelon
6873eeeefb
Fixed #22030 -- Don't assume that all fields have a swappable_setting attribute.
2014-02-13 17:43:21 +01:00
Andrew Godwin
bad9456b9c
Fix my slightly hasty autodetector changes
2014-02-12 17:22:50 +00:00
Andrew Godwin
80bbe2265d
Remove redunant code from RunPython operation
2014-02-12 17:21:25 +00:00
Andrew Godwin
935e6c1dfc
Fixed #21868 : Don't die when seeing py3 namespace packages for mig dirs
2014-02-09 14:03:41 +00:00
Andrew Godwin
11c021336c
Fixed #21958 : Handle dependencies for swappable models in AddField
2014-02-09 12:46:38 +00:00
Andrew Godwin
2085f53f56
Fixed #21968 : Bad detection of old-style apps to add initial migration
2014-02-09 11:42:10 +00:00
Andrew Godwin
97a8fd4682
Fixed #21954 : Raise nice error when serializing datetimes with timezones
2014-02-09 11:17:38 +00:00
Tim Graham
4f8e8a6ec2
Removed unused imports + other flake8 fixes.
2014-02-09 06:13:10 -05:00
Andrew Godwin
98dd8dd02e
Fixed #21892 : RunPython no longer accepts strings
2014-02-09 10:54:02 +00:00
Berker Peksag
5d263dee30
Fixed #21674 -- Deprecated the import_by_path() function in favor of import_string().
...
Thanks Aymeric Augustin for the suggestion and review.
2014-02-08 11:12:19 -05:00
Marc Tamlyn
aea9faa146
Fix pep8 violation in migration template.
2014-02-05 14:39:44 +00:00
Carl Meyer
88a2d39159
Fixed #21874 -- Require Django applications to have a filesystem path.
...
Wherever possible this filesystem path is derived automatically from the app
module's ``__path__`` and ``__file__`` attributes (this avoids any
backwards-compatibility problems).
AppConfig allows specifying an app's filesystem location explicitly, which
overrides all autodetection based on ``__path__`` and ``__file__``. This
permits Django to support any type of module as an app (namespace packages,
fake modules, modules loaded by other hypothetical non-filesystem module
loaders), as long as the app is configured with an explicit filesystem path.
Thanks Aymeric for review and discussion.
2014-01-27 15:34:22 -07:00
Andrew Godwin
6758a9c0fc
Fixed #21872 : Not detecting dependencies from M2M fields
2014-01-27 11:49:55 +00:00
Aymeric Augustin
f901b4d6c8
Took advantage of the new get_model API. Refs #21702 .
2014-01-26 13:08:05 +01:00
Andrew Godwin
4b3b25104d
Fix soft-apply detection of migrations with dependencies
2014-01-24 12:26:38 +00:00
Markus Holtermann
047394f79c
Fixed #21852 -- Make migration writer serialize iterators
2014-01-22 09:21:54 +01:00
Andrew Godwin
6bbb820014
Fixed #21290 : Documented migration serializing and improved error
2014-01-19 19:27:30 +00:00
Andrew Godwin
3f1a008266
Fixed #21664 : Multi-table inheritance was duplicating _ptr fields
2014-01-19 18:35:49 +00:00
Andrew Godwin
1f5268a01f
Fixed #21786 : Bad behaviour when mixins + abstract bases for migrations
2014-01-19 18:09:52 +00:00
Andrew Godwin
af4a8478e4
Fixed #21783 : (again) Found second source of bug, also squashed it.
2014-01-19 17:43:31 +00:00
Andrew Godwin
e8d4aed3b9
Merge pull request #1681 from loic/migrations.format
...
Fixed #21323 -- Improved readability of serialized Operation.
2014-01-19 09:30:27 -08:00
Loic Bistuer
374faa4721
Fixed #21323 -- Improved readability of serialized Operation.
2014-01-20 00:16:07 +07:00
Andrew Godwin
1ea96acaf5
Fix unicode default input on py3
2014-01-19 17:14:31 +00:00
Andrew Godwin
c9de1b4a55
Implement swappable model support for migrations
2014-01-19 16:43:12 +00:00
Andrew Godwin
7535e9f4a4
Fixed #21784 : Correctly decode stdin input for migration defaults
2014-01-16 19:04:10 +00:00
Andrew Godwin
64887c644a
Fixed #21142 : Dependency failures on unmigrated apps.
2014-01-08 13:00:12 +00:00
Aymeric Augustin
c40209dcc0
Made it possible to change an application's label in its configuration.
...
Fixed #21683 .
2013-12-31 17:30:58 +01:00
Aymeric Augustin
bfcc686d22
Removed the only_with_models_module argument of get_model[s].
...
Now that the refactorings are complete, it isn't particularly useful any
more, nor very well named. Let's keep the API as simple as possible.
Fixed #21689 .
2013-12-30 23:59:34 +01:00
Aymeric Augustin
7ed20e0153
Populated Apps instances immediately by default.
2013-12-30 22:11:17 +01:00
Aymeric Augustin
20d487c27b
Replaced Options.object_name.lower() by Options.model_name.
...
Thanks Simon for the suggestion.
Also removed inappropriate lowercasing of app labels in migrations.
Unlike model names, they are case sensitive.
2013-12-29 18:48:37 +01:00
Aymeric Augustin
ba7206cd81
Changed get_model to raise an exception on errors.
...
Returning None on errors required unpythonic error checking and was
inconsistent with get_app_config.
get_model was a private API until the previous commit, but given that it
was certainly used in third party software, the change is explained in
the release notes.
Applied the same change to get_registered_model, which is a new private
API introduced during the recent refactoring.
2013-12-28 20:53:00 +01:00
Aymeric Augustin
bbdf01e00a
Populated non-master app registries.
...
This removes the gap between the master app registry and ad-hoc app
registries created by the migration framework, specifically in terms
of behavior of the get_model[s] methods.
This commit contains a stealth feature that I'd rather not describe.
2013-12-28 20:37:42 +01:00
Aymeric Augustin
c81fae6b95
Used app_label instead of appname.
...
The last component of the dotted path to the application module is
consistently referenced as the application "label". For instance it's
AppConfig.label. appname could be confused with AppConfig.name, which is
the full dotted path.
2013-12-28 09:53:02 +01:00
Aymeric Augustin
2504a50cc2
Created a constant for the migrations module name.
...
Mostly for consistency with MODELS_MODULE_NAME; it's unlikely to change.
2013-12-27 15:36:19 +01:00
Aymeric Augustin
1716b7ce5a
Renamed AppCache to Apps.
...
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00
Aymeric Augustin
2fef9e5375
Moved apps back in the toplevel django namespace.
...
Reverted 4a56a93cc4
.
2013-12-22 11:39:55 +01:00
Aymeric Augustin
0242c56fd8
Deborgified the app cache.
...
Improved Andrew's hack to create temporary app caches to handle
migrations. Now the main app cache has a "master" flag set to True
(which is a non-default keyword argument, thus unlikely to be used by
mistake). Other app cache instances have "master" set to False.
The only sanctioned way to access the app cache is by importing
django.core.apps.app_cache.
If you were instanciating an app cache and relying on the Borg pattern,
you'll have to refactor your code.
2013-12-17 21:53:18 +01:00
Aymeric Augustin
4a56a93cc4
Moved the new app cache inside core.
2013-12-17 10:17:46 +01:00
Aymeric Augustin
5ba743e262
Made it possible to create apps without a models module.
...
This commit reverts f44c4a5d0f
and 39bbd165
.
django.test.simple will be updated in a separate commit as it requires
invasive changes.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
69039becde
Deprecated get_app().
2013-12-17 10:17:45 +01:00
Aymeric Augustin
2732edc5f2
Deprecated get_apps().
2013-12-17 10:17:45 +01:00
Aymeric Augustin
259cd3cd41
Deprecated get_app_package, get_app_path and get_app_paths.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
8662654d6d
Removed module-level functions for the app cache.
...
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.
They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.
This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.
2013-12-17 10:17:44 +01:00
Aymeric Augustin
860c2c8bc5
Moved django.db.models.loading to django.apps.cache.
...
This commit doesn't contain any code changes; it's purely a refactoring.
2013-12-17 10:17:43 +01:00
Andrew Godwin
5db028affb
Fix altering of SERIAL columns and InnoDB being picky about FK changes
2013-12-11 14:19:05 +00:00
Andrew Godwin
cee4fe7307
Better default name for migrations we can't give nice names to
2013-12-11 13:23:07 +00:00
Andrew Godwin
248fdb1110
Change FKs when what they point to changes
2013-12-11 13:16:29 +00:00
Loic Bistuer
a2814846ca
Fixed E124 pep8 warnings.
2013-12-10 15:12:48 -05:00
Baptiste Mispelon
72479a2957
Made the migration detector use meta.local_fields instead of meta.fields.
...
Refs #21010 .
Thanks to Loïc for the patch.
2013-12-06 15:23:21 +01:00
Baptiste Mispelon
19e4374971
Fixed ModelState breaking when unique_together has unhashable elements.
2013-12-06 15:22:52 +01:00
Baptiste Mispelon
f463789f62
Added app_label to the error message when field reconstructing fails.
2013-12-06 15:22:47 +01:00
Andrew Godwin
a06fd092ef
Merge pull request #2037 from bmispelon/invalidbaseserror
...
Fixed TypeError when rendering ModelState with multiple bases.
2013-12-06 05:48:21 -08:00
maurycyp
4d0c72eb68
Removed unreachable `else` in `try` block.
2013-12-06 01:10:52 -05:00
Baptiste Mispelon
aba75b0d71
Fixed TypeError when rendering ModelState with multiple bases.
2013-12-06 00:55:31 +01:00
Andrew Godwin
e9c6d04224
Better error reporting when from_app_cache fails
2013-12-05 14:20:30 +00:00
Andrew Godwin
3b8e46cbc7
Migration VCS conflict detection and --merge for makemigrations
2013-12-04 16:01:49 +00:00
Andrew Godwin
ce05b8a69e
Don't make a second migration if there was a force-null-default addcol.
2013-12-04 13:56:22 +00:00
Simon Charette
42ac138009
Fixed a deprecation warning introduced by 96dd48c83f
.
2013-11-28 21:42:24 -05:00
Andrew Godwin
67b51b9895
Include deferred SQL in sqlmigrate output
2013-11-27 16:29:37 +00:00
Andrew Godwin
5e63977c0e
Fixed #21438 : makemigrations now detects ManyToManyFields
2013-11-27 15:28:33 +00:00
Andrew Godwin
96dd48c83f
Change initial migration writing to work as docs suggest.
...
Application template now includes an empty migrations module, and
the autodetector will only make initial migrations for apps with
empty modules.
2013-11-27 12:34:31 +00:00
Andrew Godwin
db4527e3c0
Fix squashed migration loading ordering issue
2013-11-27 12:29:22 +00:00
Alex Gaynor
e5b7045422
flake8 fixes
2013-11-06 20:00:48 -08:00
Andrew Godwin
106b019dc9
Massive migration optimiser improvements + RenameModel opn
2013-11-06 13:47:58 +00:00
Alex Gaynor
c347f78cc1
Fixed all E226 violations
2013-11-03 10:08:55 -08:00
Milton Mazzarri
cbc7cbbc5b
Fixed flake8 E251 violations
2013-11-03 03:22:11 -06:00
Alex Gaynor
7548aa8ffd
More attacking E302 violators
2013-11-02 13:12:09 -07:00
Tim Graham
36ded01527
Fixed #21302 -- Fixed unused imports and import *.
2013-11-02 15:24:56 -04:00
Andrew Godwin
e9cb333bc3
Auto-apply initial migrations if their tables exist already.
2013-10-30 15:17:49 +00:00
Baptiste Mispelon
497930b7f6
Use `callable` instead of `six.callable`.
...
The `callable` builtin was added back in python 3.2
which is the minimal python3 version supported by django
at this point.
2013-10-29 21:53:51 +01:00
Andrew Godwin
5ab8b5d72c
Fix migration planner to fully understand squashed migrations. And test.
2013-10-23 22:56:54 +01:00
Alasdair Nicol
c3aa2948c6
Fixed #21298 -- Fixed E301 pep8 warnings
2013-10-23 13:45:03 +01:00
Loic Bistuer
e565e1332d
Fixed #21275 -- Fixed a serializer error when generating migrations for contrib.auth.
...
The migration serializer now looks for a deconstruct method on any object.
2013-10-21 14:54:52 -04:00
Loic Bistuer
8d6953d55c
Added support for serializing class methods. - Refs #21290 .
...
The new handling allows us to do away with the whitelisting that was
required to support date and datetime objects.
2013-10-19 12:10:18 -04:00
Loic Bistuer
584110417f
Fixed #21283 -- Added support for migrations if models is a package.
...
Thanks Markus Holtermann for the report.
2013-10-19 09:48:57 -04:00
Andrew Godwin
763ac8b642
First pass on squashmigrations command; files are right, execution not.
2013-10-16 12:00:07 +01:00
Andrew Godwin
42f8666f6a
Improve migration optimizer to be able to optimize through other ops
2013-10-16 11:09:33 +01:00
Florian Apolloner
ed8919cbcb
Handle Apps with South migrations as unmigrated apps.
2013-10-15 11:57:30 +02:00
Tim Graham
adedc31072
Fixed "redefinition of unused 'foo' from line X" pyflakes warnings.
2013-10-10 11:09:42 -04:00
Javed Khan
4dbd95ad65
Fixed #21236 -- Allowed migrations to work with unique_together tuples.
...
Thanks hjwp for the report.
2013-10-07 09:39:14 -04:00
Andrew Godwin
a80d9ab0fe
Initial version of MigrationOptimizer and tests
2013-10-02 17:34:22 +01:00
Andrew Godwin
6d3faba2d2
Add reverse_code optional argument to RunPython
2013-09-25 17:21:20 +01:00
Andrew Godwin
fe9f342d8c
Allow callables as the argument to RunPython
2013-09-25 16:10:43 +01:00
Andrew Godwin
8a3e543f26
Make sqlmigrate ignore the RunPython operation
2013-09-25 14:37:44 +01:00
Andrew Godwin
3b810c5656
Add RunPython migration operation and tests
2013-09-25 13:58:07 +01:00
Andrew Godwin
05656f2388
Add equality support for Project/ModelState
2013-09-25 13:47:46 +01:00
Markus Holtermann
5a424c2393
Fixed #21114 -- Migrations must not have a dependency to themselves.
2013-09-17 11:47:19 -04:00
Alex Gaynor
bac86ad1a3
REmoved some unused imports
2013-09-14 12:34:57 -07:00
Gregor MacGregor
b2b763448f
Fixed #20841 -- Added messages to NotImplementedErrors
...
Thanks joseph at vertstudios.com for the suggestion.
2013-09-10 11:09:59 -04:00