South migrate error, InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope

169 views
Skip to first unread message

Ikaros andi

unread,
May 9, 2014, 1:13:58 AM5/9/14
to south...@googlegroups.com

I migrate data occur error.
I tried to run raw sql below:
ALTER TABLE wxwall_participation ADD COLUMN event INT DEFAULT 0
ALTER TABLE wxwall_scene ADD COLUMN welcome_msg VARCHAR(400) NULL
They work very well, which make me comfuse.How can I solve this problem?

error detail:

- Migrating forwards to 0002_auto__add_field_participation_event__add_field_scene_welcome_msg.
 > wxwall:0002_auto__add_field_participation_event__add_field_scene_welcome_msg
 ! Error found during real run of migration! Aborting.

 ! 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.

! You *might* be able to recover with:   - no dry run output for delete_foreign_key() due to dynamic DDL, sorry
   = ALTER TABLE `wxwall_participation` DROP COLUMN `event` CASCADE; []
   - no dry run output for delete_foreign_key() due to dynamic DDL, sorry
   = ALTER TABLE `wxwall_scene` DROP COLUMN `welcome_msg` CASCADE; []

 ! The South developers regret this has happened, and would
 ! like to gently persuade you to consider a slightly
 ! easier-to-deal-with DBMS (one that supports DDL transactions)
 ! NOTE: The error which caused the migration to fail is further up.
Error in migration: wxwall:0002_auto__add_field_participation_event__add_field_scene_welcome_msg
  File "E:\PyCharm 3.0.1\helpers\pydev\pydevd.py", line 1534, in <module>
    debugger.run(setup['file'], None, None)
  File "E:\PyCharm 3.0.1\helpers\pydev\pydevd.py", line 1145, in run
    pydev_imports.execfile(file, globals, locals) #execute the script
  File "D:/YUNTU/Incubations/Project/chlitina/germes/manage.py", line 36, in <module>
    execute_from_command_line(sys.argv)
  File "E:\Python27\lib\site-packages\django\core\management\__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "E:\Python27\lib\site-packages\django\core\management\__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "E:\Python27\lib\site-packages\django\core\management\base.py", line 196, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "E:\Python27\lib\site-packages\django\core\management\base.py", line 232, in execute
    output = self.handle(*args, **options)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\management\commands\migrate.py", line 111, in handle
    ignore_ghosts = ignore_ghosts,
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\migration\__init__.py", line 220, in migrate_app
    success = migrator.migrate_many(target, workplan, database)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\migration\migrators.py", line 254, in migrate_many
    result = migrator.__class__.migrate_many(migrator, target, migrations, database)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\migration\migrators.py", line 329, in migrate_many
    result = self.migrate(migration, database)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\migration\migrators.py", line 133, in migrate
    result = self.run(migration, database)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\migration\migrators.py", line 114, in run
    return self.run_migration(migration, database)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\migration\migrators.py", line 84, in run_migration
    migration_function()
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\migration\migrators.py", line 60, in <lambda>
    return (lambda: direction(orm))
  File "D:\YUNTU\Incubations\Project\chlitina\germes\app\weixin\wxwall\migrations\0002_auto__add_field_participation_event__add_field_scene_welcome_msg.py", line 17, in forwards
    keep_default=False)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\db\generic.py", line 47, in _cache_clear
    return func(self, table, *args, **opts)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\db\generic.py", line 418, in add_column
    self.execute(sql)
  File "D:\YUNTU\Incubations\Project\chlitina\germes\lib\south\db\generic.py", line 282, in execute
    cursor.execute(sql, params)
  File "E:\Python27\lib\site-packages\django\db\backends\util.py", line 40, in execute
    return self.cursor.execute(sql, params)
  File "E:\Python27\lib\site-packages\django\db\backends\mysql\base.py", line 114, in execute
    return self.cursor.execute(query, args)
  File "E:\Python27\lib\site-packages\MySQLdb\cursors.py", line 203, in execute
    if not self._defer_warnings: self._warning_check()
  File "E:\Python27\lib\site-packages\MySQLdb\cursors.py", line 117, in _warning_check
    warn(w[-1], self.Warning, 3)


_mysql_exceptions.Warning: InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.


Andrew Godwin

unread,
May 9, 2014, 1:24:57 AM5/9/14
to south...@googlegroups.com
This isn't a South problem; your MySQL installation is misconfigured to try and use ROW_FORMAT=DYNAMIC but still use the original storage format for InnoDB which doesn't support this. You'll have to fix that before you can use South or Django at all.

Check you don't have anything forcing ROW_FORMAT=DYNAMIC in your Django database settings; if there is, remove it; if you don't know what it is, it shouldn't be in there.

Andrew


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

Reply all
Reply to author
Forward
0 new messages