Rendering model states when running migrate in Django 1.8 consumes
on the order of 4x-6x more memory than <1.8.
References:
* https://code.djangoproject.com/ticket/24745
* https://code.djangoproject.com/ticket/24743
This is causing failures in Jenkins as the workers run out of memory
and either processes cannot fork or the Out Of Memory Killer
kills a process that is running tests.
Disabling migrations until we do either or both of these:
* Upgrade to Django 1.9 and turn them back on. See EV-92 "Discovery: Upgrade edx-platform to Django 1.9"
* Address TE-1310 "Unit tests should be able to run without migrations"
FEDX-121
The previous approach for handling NPM assets was
to symlink them into the static directory. This appeared
to cause trouble with the asset pipeline where the files
in question were not installed and then old versions were
picked up instead.
This change instead copies NPM libraries to a new
static directory so that the pipeline can consume them
as with any other file. This new directory is added to
.gitignore so that the files don't get accidentally
checked in.
By default, migrations are applied as they always have been. Exporting DISABLE_MIGRATIONS=1 or passing --disable-migrations to Paver commands will create tables directly from apps' models.
Testsonly will not work currently, because the database flush will
remove some data fixtures. Even when they are loaded at the beginning
of the next test run, there are database corruptions. Instead of
flushing, do not do anything with the database at the end of the
testsonly test run. That way, tests that use dynamic data can be
run many times in a row.
- Rename escape_json_dumps to dump_js_escaped_json
- Rename escape_js_string to js_escaped_string
- Update js_escaped_string to output empty string for None
- Introduce dump_html_escaped_json
- Move dump_js_escaped_json after the pipe as new best practice
- Introduce additional uses of helpers
- Introduce new djangolib directory and move js_utils