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
Loic Bistuer
d59f1993f1
Made MigrationWriter look for a "deconstruct" attribute on functions.
...
Refs #20978 .
2013-09-10 10:12:23 -04:00
Andrew Godwin
bacbbb481d
RunSQL migration operation and alpha SeparateDatabaseAndState op'n.
2013-09-07 11:03:38 -05:00
Loic Bistuer
adc0ab3386
Fixed #21037 -- Made MigrationWriter raise a ValueError when serializing lambda functions.
2013-09-06 20:13:01 -04:00
Andrew Godwin
efd1e6096e
Adding 'sqlmigrate' command and quote_parameter to support it.
2013-09-06 15:28:12 -05:00
Andrew Godwin
05e14e8eaf
Migration autodetector now corerctly deals with proxy models
2013-09-06 12:39:46 -05:00
Andrew Godwin
cdeff3acc2
Project/ModelState now correctly serialize multi-model inheritance
2013-09-06 12:16:03 -05:00
Andrew Godwin
9f6e6009a4
Add --list option to migrate command
2013-09-06 11:06:19 -05:00
Andrew Godwin
32838a5beb
Make db.migrations ignore South-style migrations.
2013-09-06 10:35:53 -05:00
Loic Bistuer
e1266e50b2
Fixed #21015 -- Fixed MigrationLoader when importlib.import_module returns a file module or an empty directory.
2013-09-06 08:30:19 -04:00
Loic Bistuer
82bbb9fe81
Fixed #21014 -- Fixed gobbled ImportError in MigrationLoader.
2013-09-06 08:30:18 -04:00
Loic Bistuer
34d52fd32e
Fixed #21010 -- Changed ModelState to only copy _meta.local_fields.
2013-09-04 14:05:59 -04:00
Loic Bistuer
ff9e116198
Fixed #21008 -- Made MigrationWriter handle Promise objects.
2013-08-31 20:26:44 -04:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Andrew Godwin
2e7f45a372
Change autodetector changes API to be just one method
2013-08-21 22:25:15 +01:00
Andrew Godwin
b61b634628
Fix weird planning issues when already fully migrated.
2013-08-11 15:28:51 +01:00
Andrew Godwin
21be9fef7b
Stop being overcautious about Field.rel
2013-08-11 00:01:30 +01:00
Andrew Godwin
7970d97a70
Docs tweaks (thanks timgraham)
2013-08-10 20:00:12 +01:00
Andrew Godwin
9b4a789eef
Add [y/n] to autodetector questions and allow for default value
2013-08-09 17:45:19 +01:00
Andrew Godwin
9f73629420
utils.importlib is deprecated
2013-08-09 17:36:16 +01:00
Andrew Godwin
fddc5957c5
Implement allow_migrate for migration operations
2013-07-30 12:34:31 +01:00
Andrew Godwin
c8cbdabfab
Fix Python 3 support
2013-07-26 17:08:12 +01:00
Andrew Godwin
52643a69e3
Add --fake option to migrate
2013-07-26 16:47:00 +01:00
Andrew Godwin
3f7113f1d9
Fix timezone warnings if USE_TZ=True
2013-07-26 16:46:48 +01:00
Andrew Godwin
a758c9c186
Add test for creating M2Ms
2013-07-25 16:36:58 +01:00
Andrew Godwin
162f7b938f
Make migrate command recognise prefixes and 'zero'.
2013-07-22 19:43:58 +01:00
Andrew Godwin
61ff46cf8b
Add AlterIndexTogether operation
2013-07-02 18:02:01 +01:00
Andrew Godwin
3b20af3e96
Autodetection of unique_together changes
2013-07-02 11:25:18 +01:00
Andrew Godwin
67dcea711e
Add unique_together altering operation
2013-07-02 11:19:02 +01:00
Andrew Godwin
e2d7e83256
Autodetect ForeignKeys and add dependencies/split on circulars
2013-06-22 17:15:51 +01:00
Andrew Godwin
cca40703df
Prompt about renames rather than doing them automatically
2013-06-21 15:32:15 +01:00
Andrew Godwin
92a10f5552
Autodetect field renames. HAHAHA. AHAHAHAHA. YES.
2013-06-20 16:02:43 +01:00
Andrew Godwin
47e4b86ddf
Autodetect field alters
2013-06-20 15:19:30 +01:00
Andrew Godwin
80bdf68d6b
Add AlterField and RenameField operations
2013-06-20 15:12:59 +01:00
Andrew Godwin
6f667999e1
Add operation that renames tables
2013-06-20 14:54:11 +01:00
Andrew Godwin
73e30e9d3b
Better naming, and prompt for NOT NULL field addition
2013-06-19 17:01:48 +01:00
Andrew Godwin
41214eaf18
Autodetect fields, have migrate actually work
2013-06-19 16:41:04 +01:00
Andrew Godwin
f25a385a5e
Makemigration command now works
2013-06-19 16:23:52 +01:00
Andrew Godwin
ab5cbae9b7
First stab at some migration creation commands
2013-06-19 15:36:22 +01:00
Andrew Godwin
2ae8a8a77d
Fix test running with new apps stuff/migrate actually running migrations
2013-06-19 15:36:02 +01:00
Andrew Godwin
315ab41e41
Initial stab at a migrate command, it's probably quite a way off.
2013-06-07 18:47:17 +01:00
Andrew Godwin
91c470def5
Auto-naming for migrations and some writer fixes
2013-06-07 17:56:43 +01:00
Andrew Godwin
cd809619a2
Autodetector tests
2013-06-07 15:49:48 +01:00
Andrew Godwin
c7aa4b5338
Field encoding
2013-06-07 15:36:31 +01:00
Andrew Godwin
4492f06408
A bit of an autodetector and a bit of a writer
2013-06-07 15:28:38 +01:00
Andrew Godwin
7609e0b42e
Remove debug prints
2013-05-30 18:25:57 +01:00
Andrew Godwin
8d81c6bc82
Use correct model versions for field operations
2013-05-30 18:24:20 +01:00
Andrew Godwin
e6ba63def3
Fix error in ModelState.clone() not copying deep enough
2013-05-30 18:24:10 +01:00
Andrew Godwin
e6f7f4533c
Add an Executor for end-to-end running
2013-05-30 18:08:58 +01:00
Andrew Godwin
dfa7c5cade
Allow retrieval of project state at start of migrations
2013-05-30 17:56:26 +01:00
Andrew Godwin
d0ecefc2c9
Start adding operations that work and tests for them
2013-05-29 17:47:10 +01:00
Andrew Godwin
264f8650e3
ModelState now freezes options and bases
2013-05-19 12:35:17 +02:00
Andrew Godwin
38a8cf1cdc
Fix state tests a little
2013-05-18 18:30:34 +02:00
Andrew Godwin
7d041b9394
Split up test and make the State classes a bit better.
2013-05-18 13:49:56 +02:00
Andrew Godwin
331546f6ee
More conversion to a ContextManager schema_editor
2013-05-18 11:48:46 +02:00
Andrew Godwin
ce5bd42259
Turn SchemaEditor into a context manager
2013-05-18 11:06:30 +02:00
Andrew Godwin
76d93a52cd
Make a start on operations and state (not sure if final layout)
2013-05-10 17:07:13 +01:00
Andrew Godwin
8a1f017777
Add root_node and leaf_node functions to MigrationGraph
2013-05-10 16:09:57 +01:00
Andrew Godwin
9ce8354672
First phase of loading migrations from disk
2013-05-10 16:00:55 +01:00
Andrew Godwin
f6801a234f
Adding a dependency graph class and tests
2013-05-10 12:52:04 +01:00