Commit Graph

1025 Commits

Author SHA1 Message Date
Simon Charette 813805833a Fixed #27631 -- Prevented execution of transactional DDL statements when unsupported.
Executing a DDL statement during a transaction on backends that don't support
it silently commits, leaving atomic() in an incoherent state.

While schema_editor.execute() could technically be used to execute DML
statements such usage should be uncommon as these are usually performed through
the ORM. In other cases schema_editor.connection.execute() can be used to
circumvent this check.

Thanks Adam and Tim for the review.
2016-12-28 19:43:32 -05:00
jpic bf6392bb75 Fixed #27600 -- Suppressed the REPL during shell's reading from stdin.
Thanks Adam Chainz for review and guidance.
2016-12-21 17:05:33 -05:00
Tim Graham 7a4e2fc5a2 Fixed #27588 -- Removed unneeded colon in makemigrations output. 2016-12-12 09:38:13 -05:00
Keda87 48826aa541 Fixed #27546 -- Removed hardcoded class names in __repr__() methods. 2016-12-01 08:11:09 -05:00
Lex Berezhny 8eb56f3c78 Fixed #27507 -- Used SchemaEditor.execute() to run deferred_sql in migrate's sync_apps(). 2016-11-29 20:00:16 -05:00
Ramin Farajpour Cami 967be82443 Fixed E305 flake8 warnings. 2016-11-14 12:30:46 -05:00
Paweł Marczewski 50f9e736fa Fixed #27438 -- Added the diffsettings --default option. 2016-11-10 07:50:49 -05:00
Joseph Kahn 373c6c409c Fixed #27461 -- Fixed incorrect allow_migrate() arguments in makemigrations. 2016-11-09 10:27:19 -05:00
Zbigniew Siciarz f94ce0d21d Fixed #27436 -- Fixed makemigrations crash when creating migrations on a separate drive than where Django is installed. 2016-11-08 18:06:17 -05:00
Ana Balica bafc9f9c33 Fixed #27423 -- Simplified sys.exit() for indicating test failures. 2016-11-03 12:40:59 +01:00
Claude Paroz 1f5b69917d Optimized file copy in TemplateCommand 2016-10-20 16:59:01 +02:00
Tim Graham cd09524f27 Fixed #27200 -- Provided makemigration's allow_migrate() with model_name. 2016-10-13 11:04:58 -04:00
Nick Pope f1664a2734 Replaced '__' with LOOKUP_SEP constant. 2016-10-11 11:14:06 -04:00
Claude Paroz 979ea95608 Fixed #27300 -- Made makemigrations --dry-run output a string (no bytes)
Thanks Markus Holtermann for the report and the review.
2016-10-06 11:41:35 +02:00
Claude Paroz 122c90a43b Fixed #27305 -- Removed BaseCommand.can_import_settings unused attribute
Thanks Tim Graham for the review.
2016-10-02 20:31:56 +02:00
Claude Paroz fa2f55cfd5 Refs #26940 -- Re-allowed makemessages without settings
Thanks Tim Graham for the review.
2016-10-01 14:57:16 +02:00
Claude Paroz fc92c6b500 Removed unneeded no_settings_commands hardcoded list
Thanks Tim Graham for the review.
2016-09-30 17:25:28 +02:00
Claude Paroz d389125606 Fixed #27098 -- Deprecated DatabaseIntrospection.get_indexes
Thanks Akshesh <aksheshdoshi@gmail.com> for help with the PostgreSQL query.
Thanks Tim Graham for the review.
2016-09-12 09:26:33 +02:00
Ivan 9a2a52558e Fixed #27171 -- Added unicode_literals and coding preamble to all files in startapp template on Python 2. 2016-09-03 12:00:00 -04:00
Tim Graham 098c07a032 Fixed #27142, #27110 -- Made makemigrations consistency checks respect database routers.
Partially reverted refs #27054 except for one of the tests as this
solution supersedes that one.

Thanks Shai Berger for the review.
2016-09-01 16:19:29 -04:00
Simon Charette d5c4ea5246 Fixed #27100 -- Included already applied migration changes in the pre-migrate state.
Refs #24100.

Thanks Tim for the review.
2016-08-24 01:17:48 -04:00
Simon Charette d1757d8df4 Fixed #27044 -- Included already applied migration changes in the post-migrate state when the execution plan is empty.
Refs #24100.

Thanks tkhyn for the report and Tim for the review.
2016-08-24 01:17:18 -04:00
Claude Paroz 5fb22b4d4c Fixed #27034 -- Made makemessages independent of USE_I18N
Thanks Tim Graham for the review.
2016-08-11 21:16:19 +02:00
Claude Paroz a6baada7bd Fixed #26940 -- Removed makemessages from no_settings_commands whitelist
As makemessages uses several settings for proper run (FILE_CHARSET,
LOCALE_PATHS, MEDIA_ROOT, and STATIC_ROOT), we should require settings
configuration for this command.
2016-08-08 19:52:57 +02:00
Peter Inglesby e139ef5741 Fixed #27023 -- Prevented possibility of shell loading ~/.pythonrc.py twice. 2016-08-05 12:09:45 -04:00
Tim Graham ccd5a23fba Fixed #27000 -- Removed BaseCommand.usage() per deprecation timeline (refs #19973). 2016-08-02 18:50:12 -04:00
Tim Graham aad46c3e37 Fixed #26930 -- Prevented makemigrations from accessing an empty database.
Thanks Liz Lemon for the report and investigation and
Claude Paroz for the test.
2016-08-01 07:57:12 -04:00
Claude Paroz 599393172b Fixed #26826 -- Stripped spaces from dumpdata pks arguments
Thanks Kevin Graham Foster for the report and Tim Graham for the review.
2016-07-16 20:49:10 +02:00
Claude Paroz 3e71f6544f Fixed #26897 -- Fixed makemessages crash on Python 2 with non-ASCII file names
Thanks Tim Graham for the review.
2016-07-14 20:37:56 +02:00
Tim Graham 81cdcb66bc Fixed #26791 -- Replaced LiveServerTestCase port ranges with binding to port 0. 2016-06-23 12:04:05 -04:00
Tim Graham ea34426ae7 Fixed flake8 2.6 warnings. 2016-06-16 09:12:50 -04:00
Berker Peksag ae2a7da86b Fixed #20468 -- Added loaddata --exclude option.
Thanks Alex Morozov for the initial patch.
2016-06-09 10:35:32 -04:00
Ramiro Morales 6ab0d1358f Fixed #26645 -- Fixed potential makemessages failures on Windows.
This was reflected by 27 i18n test errors (not failures) on such
platform caused by corrupt intermediate PO catalog files fed to
`msgmerge(1)`.

Made it handle in-memory PO/POT file contents with normalized line
separators (`'\n'`).

We need to perform manually this after using `subprocess.Popen` as we
can't pass it `universal_newlines=True`.

Also fixes #26670 in the process as this commit refactors the same code
section.
2016-05-27 21:02:14 -03:00
Simon Charette f937c9ec97 Fixed #24100 -- Made the migration signals dispatch its plan and apps.
Thanks Markus for your contribution and Tim for your review.
2016-05-15 19:51:15 -04:00
Raphael Gaschignard 8f6a1a1551 Fixed #26429 -- Added a timestamp to merge migration names.
This reduces the possibility of a naming conflict, especially after
squashing migrations.
2016-05-11 08:19:19 -04:00
Jarek Glowacki c8df17b612 Included reverse deps in showmigrations 2016-05-08 13:53:36 +02:00
Claude Paroz 4731e9d82e Fixed #26341 (again) -- Addressed multiple occurrences per line use case 2016-05-02 19:39:56 +02:00
Claude Paroz b16b124996 Fixed #26341 -- Fixed makemessages breaking location comments for HTML files
Thanks Sylvain Garancher for the report and Veranika Sabiashchanskaya for the
initial patch.
2016-04-30 12:08:20 +02:00
Berker Peksag 93deb1691e Fixed #26492 -- Fixed "maximum recursion depth exceeded" migrate error.
A regression introduced in 0d3c616fbb2f49fa7ff6809e5a6777275352b35b;
refs #26351.
2016-04-12 09:04:14 -04:00
Claude Paroz 0d3c616fbb Refs #26351 -- Added check hook to support database-related checks
Thanks Tim Graham and Shai Berger for the reviews.
2016-04-08 20:28:00 +02:00
Tim Graham df8d8d4292 Fixed E128 flake8 warnings in django/. 2016-04-08 09:51:06 -04:00
Attila Tovt 02ae5fd31a Fixed #25850 -- Made migrate/makemigrations error on inconsistent history. 2016-04-05 08:52:08 -04:00
Dunedan 9378229c5e Merge pull request #6389 from Dunedan/ticket_25420
Fixed #25420 -- Documented bash completion exit code behavior.
2016-04-03 11:52:57 +02:00
José Tomás Tocino 39a16dd2e0 Fixed #25658 -- Allowed inspectdb to inspect a specific set of tables. 2016-03-18 08:41:15 -04:00
Saúl Ibarra Corretgé 6c33e73333 Fixed #26289 -- Enabled shell tab completion on systems using libedit. 2016-03-08 08:37:14 -05:00
Jon Dufresne 1845bc1d10 Refs #26315 -- Cleaned up argparse options in commands.
* Removed type coercion. Options created by argparse are already coerced
  to the correct type.
* Removed fallback default values. Options created by argparse already
  have a default value.
* Used direct indexing. Options created by argparse are always set. This
  eliminates the need to use dict.get().
2016-03-05 13:19:29 -05:00
Jon Dufresne 4115288b4f Fixed #26315 -- Allowed call_command() to accept a Command object as the first argument. 2016-03-05 13:05:10 -05:00
Jon Dufresne 8d3fcfa39e Cleaned up tests to use call_command() instead of Command.execute(). 2016-03-05 12:59:30 -05:00
Jon Dufresne 394b7f90d3 Passed proper default value to int-type 'verbosity' option 2016-03-03 20:42:43 +01:00
Jon Dufresne fb3540d6a4 Removed obsolete, unused option 'hide_empty' from loaddata command.
Unused since 67235fd4ef.
2016-03-01 19:48:32 -05:00
Claude Paroz 4c18a8a378 Fixed #14098 -- Prevented crash for introspection errors in inspectdb
Thanks Tim Graham for the review.
2016-02-25 08:43:56 +01:00
Claude Paroz b46c0ea6c8 Fixed #26190 -- Returned handle() result from call_command
Thanks Tim Graham for the review.
2016-02-23 09:12:12 +01:00
Mounir Messelmeni 50931dfa53 Fixed #25304 -- Allowed management commands to check if migrations are applied. 2016-02-12 13:34:56 -05:00
Roberto Rosario 408c406abc Added a function for SECRET_KEY generation logic. 2016-02-11 08:07:59 -05:00
Simon Charette 275314512d Refs #26144 -- Used proxy_for_model instead of mro inspection. 2016-02-05 12:14:32 -05:00
Pankrat f91a04621e Fixed #25833 -- Added support for non-atomic migrations.
Added the Migration.atomic attribute which can be set to False
for non-atomic migrations.
2016-02-05 09:09:05 -05:00
Yoong Kang Lim 0edb8a146f Fixed #26144 -- Warned when dumping proxy model without concrete parent. 2016-02-04 19:40:12 -05:00
Simon Charette d7db417f1a Removed some leftover trailing commas. 2016-02-04 12:23:13 -05:00
Markus Holtermann 4b0118465b Fixed #26150 -- Sorted app_labels in migrate command output 2016-01-29 10:26:04 +11:00
userimack 60586dd737 Fixed #26125 -- Fixed E731 flake warnings. 2016-01-25 14:23:43 -05:00
Chris Lamb abc0777b63 Fixed #25968 -- Changed project/app templates to use a "py-tpl" suffix.
Debian packages unconditionally byte-compile .py files on installation and
do not silence errors by design. Therefore, we need a way of shipping these
invalid .py files without a .py extension but ensuring that when we
template them, they end up as .py.

We don't special-case .py files so that the all the TemplateCommand
command-line options (eg. extra_files and extensions) still work entirely
as expected and it may even be useful for other formats too.
2016-01-25 12:39:06 -05:00
Tim Graham e519aab43a Fixed #23868 -- Added support for non-unique django-admin-options in docs.
Also documented missing short command line options to fix #24134. This bumps
the minimum sphinx version required to build the docs to 1.3.4.

Thanks Simon Charette for review.
2016-01-14 18:21:33 -05:00
Tim Graham 5b94b17fef Fixed #25999 -- Removed promotion of RemovedInNextVersionWarning to loud by default. 2016-01-14 09:05:43 -05:00
Niels Van Och 7f7553dd30 Fixed #25680 -- Added django-admin shell --command option.
Add a -c option to the shell command to execute a command passed as a
string as Django.
2016-01-06 18:43:41 -05:00
Andrew Kuchev d5b90c8e12 Fixed #21549 -- Made loaddata's 'fixture not found' warning an exception.
Thanks to mpasternak for the report and Tim Graham for the review.
2016-01-04 19:39:35 -05:00
Anssi Kääriäinen ee9f4686b1 Fixed #23372 -- Made loaddata faster if it doesn't find any fixtures.
Django's test suite often tries to load fixture files from apps that have
no fixtures at all. This creates a lot of unnecessary disabling and
enabling of constraints which can be expensive on some database.

To speed this up, loaddata now first checks if any fixture file matches.
If no fixture file is matched, then the command exits before disabling
and enabling of constraints is done.

The main benefit of this change is seen on MSSQL, where tests on
Django 1.8 run hours faster.
2015-12-31 09:00:44 -05:00
Jon Dufresne f1628f6be1 Fixed #25838 -- Added "python" as an interface to the shell command.
Deprecates the "--plain" option.
2015-12-22 08:22:12 -05:00
Tim Graham b10f66831b Fixed #25958 -- Removed support for 'skip_validation' in BaseCommand.execute(**options). 2015-12-21 14:26:42 -05:00
Emre Yilmaz 63a6a653d4 Fixed #25855 -- Enhanced the migration warning for runserver.
Added unapplied migration count and the list of unmigrated apps.
2015-12-21 12:54:29 -05:00
Niels Van Och 99a1265a39 Fixed #25063 -- Added path to makemigration's output of migration file. 2015-12-18 11:20:00 -05:00
Josh Soref 93452a70e8 Fixed many spelling mistakes in code, comments, and docs. 2015-12-03 12:48:24 -05:00
Jacek Bzdak 2cb50f935a Fixed #25274 --- Made inspectdb handle renamed fields in unique_together. 2015-11-25 13:07:00 -05:00
Claude Paroz fa08d27fb7 Fixed #25677 -- Prevented decoding errors in/after Popen calls
Thanks Gavin Wahl for the report and Tim Graham for the review.
2015-11-19 15:17:47 +01:00
Tim Graham c7adfe941b Removed redundant termcolors.
Replaced MIGRATE_SUCCESS and MIGRATE_FAILURE with
SUCCESS and ERROR.
2015-11-18 10:26:39 -05:00
Dmitry Dygalo 92eced62cd Simplified lists creation in three places. 2015-11-17 07:58:49 -05:00
Baptiste Mispelon 9bc0c21b1c Made BaseCommand.get_version() docstring consistent with docs. 2015-11-14 07:58:58 -05:00
Jon Dufresne 5d35b53c36 Removed hardcoded utf-8 BOM, used value from codecs instead. 2015-10-25 09:28:11 -07:00
Jon Dufresne 3c7d2ee881 Fixed #25604 -- Added makemigrations --check option.
Command exits with non-zero status if changes without migrations exist.
2015-10-24 14:45:00 -04:00
Yoong Kang Lim 3f300efede Fixed #25589 -- Allowed startapp/project to create apps with Unicode characters in the name. 2015-10-22 13:01:07 -04:00
Aymeric Augustin df0a446fd4 Fixed #25510 -- Allowed runserver to start with incorrect INSTALLED_APPS.
In that case, the content of INSTALLED_APPS will be ignored until it's
fixed and the autoreloader kicks in. I confirmed this behavior manually.
As explained on the ticket it's hard to write a test for this case
2015-10-18 10:34:04 +02:00
Jon Dufresne 2875325889 Fixed #25500 -- Added --fail-level option to check command.
This option specifies the level that check command exits with a
non-zero status. Default is ``ERROR``.
2015-10-05 17:11:40 -04:00
Claude Paroz 3f22e83e90 Fixed #25483 -- Allowed passing non-string arguments to call_command
Thanks KS Chan for the report and Tim Graham for the review.
2015-10-03 14:40:33 +02:00
Tim Graham b4002a2143 Refs #22835 -- Removed NoArgsCommand per deprecation timeline. 2015-09-23 19:31:10 -04:00
Tim Graham b6e6fcf326 Refs #23359 -- Removed the migrate --list option per deprecation timeline. 2015-09-23 19:31:10 -04:00
Tim Graham 6a70cb5397 Refs #19973 -- Removed optparse support in management commands per deprecation timeline. 2015-09-23 19:31:10 -04:00
Markus Holtermann 43f2eb7ef3 Fixed #25390 -- Allowed specifying a start migration in squashmigrations
Thanks Tim Graham for the review.
2015-09-19 14:55:34 +10:00
Daniel Hahler d731cf5caf Added upgrade tip in BaseCommand.option_list deprecation comment. 2015-09-15 12:06:29 -04:00
Dražen Odobašić b1e33ceced Fixed #23395 -- Limited line lengths to 119 characters. 2015-09-12 11:40:50 -04:00
Aymeric Augustin 326bc0955b Allowed a port range for the liveserver by default.
This is required for running tests in parallel.
2015-09-09 23:01:16 +02:00
Daniel Hahler acb833081d Fixed #25372 -- Fixed autocompletion for options of non-argparse commands. 2015-09-09 14:51:41 -04:00
Raphael Michel 1bbca7961c Fixed #25350 -- Added alias --no-input for --noinput to management commands. 2015-09-08 08:41:03 -04:00
Tim Graham 721d8e50ac Fixed #25144 -- Allowed migrate to create tables for apps without migrations. 2015-09-04 09:47:30 -04:00
Maxime Lorant 5153a3bfdc Fixed #25331 -- Removed trailing blank lines in docstrings. 2015-08-31 17:37:21 -04:00
Aymeric Augustin fe6ddb837d Fixed #24704 -- Made the autoreloader survive SyntaxErrors.
With this change, it's expected to survive anything except errors
that make it impossible to import the settings. It's too complex
to fallback to a sensible behavior with a broken settings module.

Harcoding things about runserver in ManagementUtility.execute is
atrocious but it's the only way out of the chicken'n'egg problem:
the current implementation of the autoreloader primarily watches
imported Python modules -- and then a few other things that were
bolted on top of this design -- but we want it to kick in even if
the project contains import-time errors and django.setup() fails.

At some point we should throw away this code and replace it by an
off-the-shelf autoreloader that watches the working directory and
re-runs `django-admin runserver` whenever something changes.
2015-08-29 20:49:56 +02:00
Sergey Kolosov e75882332c Fixed #17375 -- Changed makemessages to use xgettext with --files-from
Changed the way makemessages invokes xgettext from one call per
translatable file to one call per locale directory (using --files-from).
This allows to avoid https://savannah.gnu.org/bugs/index.php?35027 and,
as a positive side effect, speeds up localization build.
2015-08-28 15:41:58 -04:00
Tim Graham 01b2b0b654 Fixed #25318 -- Made SILENCED_SYSTEM_CHECKS suppress all messages.
Previously, messages of ERROR level or higher were printed to
the console.
2015-08-28 13:34:56 -04:00
Tim Graham 45ed19de68 Fixed #25047 -- Improved "Conflicting migrations" error message. 2015-08-24 08:05:21 -04:00
Claude Paroz c1893e2839 Fixed #25285 -- Provided unknown command message with plain django-admin.py
Thanks Maxime Lorant for the report and Tim Graham for suggesting
the improved comment.
2015-08-19 19:58:44 +02:00
Markus Holtermann 0271a11ba5 Fixed #24755 -- Hid operations from dependency apps when merging migrations
Thanks Carl Meyer for the report and Tim Graham for the review.
2015-08-18 18:33:14 +10:00
mlavin 69db1c7455 Fixed #25231 -- Added recording of squashed migrations in the migrate command.
Ensured squashed migrations are recorded as applied when the
migrate command is run and all of the original migrations
have been previously applied.
2015-08-07 17:59:18 -04:00