On 30/05/13 20:55, Andrew Godwin wrote: > The way South works, and the way this will work (for new installs as > well as tests) is that if migrations are present for an app, it will > always create new databases by running through them from the very first > migration to the latest one.
One problem with this is that you have to be careful to write migrations that will always work from scratch. This is best practice, but I have on occasion used data migrations that were for specific problems, and may have depended on specific data in the database. I've also used them for populating parts of the database at specific upgrade points. Usually I wouldn't want this data to be installed for my tests - I want my tests to explicitly do the setup they need, and not be complicated by data from data migrations. For these reasons, and because of the slowness of running all the migrations, there are some projects where I have a settings file for running the tests that excludes South from INSTALLED_APPS, which solves the problem nicely. The slowness problem can be fixed by squashing, but it seems a shame to require that simply for the sake of running tests. And it doesn't solve the other problems. I would like to be able to turn off migrations for tests, and just skip to the final schema. Luke -- "I washed a sock. Then I put it in the dryer. When I took it out, it was gone." (Steven Wright) Luke Plant || http://lukeplant.me.uk/ -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers?hl=en. For more options, visit https://groups.google.com/groups/opt_out.