Fixed #17573 -- Documented MySQL's switch to InnoDB as default storage engine. Thanks Lenz Hirsch for the report and Claude Paroz for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17552 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Aymeric Augustin 2012-02-19 07:39:05 +00:00
parent 03aa030f07
commit 0fe4218427
2 changed files with 11 additions and 14 deletions

View File

@ -154,13 +154,14 @@ Storage engines
MySQL has several `storage engines`_ (previously called table types). You can MySQL has several `storage engines`_ (previously called table types). You can
change the default storage engine in the server configuration. change the default storage engine in the server configuration.
The default engine is MyISAM_ [#]_. The main drawbacks of MyISAM are that it Until MySQL 5.5.4, the default engine was MyISAM_ [#]_. The main drawbacks of
doesn't currently support transactions or enforce foreign keys constraints. On MyISAM are that it doesn't support transactions or enforce foreign keys
the plus side, it's currently the only engine that supports full-text indexing constraints. On the plus side, it's currently the only engine that supports
and searching. full-text indexing and searching.
The InnoDB_ engine is fully transactional and supports foreign key references Since MySQL 5.5.5, the default storage engine is InnoDB_. This engine is fully
and is probably the best choice at this point in time. transactional and supports foreign key references. It's probably the best
choice at this point in time.
.. versionchanged:: 1.4 .. versionchanged:: 1.4

View File

@ -376,15 +376,11 @@ fixture type are discovered (for example, if ``mydata.json`` and
installation will be aborted, and any data installed in the call to installation will be aborted, and any data installed in the call to
``loaddata`` will be removed from the database. ``loaddata`` will be removed from the database.
.. admonition:: MySQL and Fixtures .. admonition:: MySQL with MyISAM and fixtures
Unfortunately, MySQL isn't capable of completely supporting all the The MyISAM storage engine of MySQL doesn't support transactions or
features of Django fixtures. If you use MyISAM tables, MySQL doesn't constraints, so you won't get a rollback if multiple transaction files are
support transactions or constraints, so you won't get a rollback if found, or validation of fixture data, if you use MyISAM tables.
multiple transaction files are found, or validation of fixture data.
If you use InnoDB tables, you won't be able to have any forward
references in your data files - MySQL doesn't provide a mechanism to
defer checking of row constraints until a transaction is committed.
Database-specific fixtures Database-specific fixtures
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~