Thursday, August 1, 2013

Re: South with MySQL?

So are you saying the migration wil or will not work with South using MySQL?? What do I have to do, in addition to everything in the South documentation, in orde3r to make a South migration work with MySQL, given what you have posted above?



On 1 August 2013 09:40, Masklinn <masklinn@masklinn.net> wrote:
On 2013-08-01, at 10:09 , Nigel Legg wrote:

> I tried to run a migration using south, and got the message:
> "Since you have a database that does not support running schema-altering
> statements in transactions, we have had to leave it in an interim state
> between migrations."
> Is this an incompatibility with MySQL, or because my DB is incorrectly
> configured?  I have not seen in any of the South documentation that it can
> not be used with MySQL.
> Cheers, N//

Please read the message. It doesn't note that South is *incompatible*
with mysql, it notes that a failed migration will leave the database in
an intermediate (broken) state.

This is because MySQL does not implement transactional DDL[0]: table
alterations are performed outside of transactions and thus can not be
rollbacked (and will implicitly commit any pending transaction when
using InnoDB). This by comparison to PostgreSQL, where pretty much all
commands (including DDL) are executed in transaction and will be
rollbacked with it (a quick search notes database and tablespace
alterations are not transactional, 2-phase transactions obviously aren't
either, and sequence operations don't rollback for different reasons).

[0] http://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis#MySQL

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment