2
votes

I have to update the auth.user records in a Django app to flip the "is_staff" bit for certain users. I could do this with a SQL script, but it'd be a lot more convenient if I could use a South data migration.

However, whenever I try to do manage.py datamigration auth whatever South creates the migration in lib/python2.7/site-packages/django/contrib/auth/migrations. Does this mean that it's impossible to use South data migrations to migrate user data? Or is there some sort of workaround I'm missing?

1

1 Answers

5
votes

Yes this is possible using the SOUTH_MIGRATION_MODULES setting: http://south.readthedocs.org/en/0.7.6/settings.html#south-migration-modules

A dictionary of alternative migration modules for apps. By default, apps look for their migrations in “.migrations”, but you can override this here, if you have project-specific migrations sets.

For example

SOUTH_MIGRATION_MODULES = {
    'auth': 'myproject.migrations.auth',
}