Thanks Josh. I'll give that a try tonight. If I moved the migration out of that folder, it worked, so I'm hopeful that your suggestion will do the trick.
On Saturday, April 18, 2015 at 11:21:44 AM UTC-4, Josh Cartmell wrote: > > Hi Keith and Ken, I think I understand what is going on and you actually > are very close to doing the right thing. When you create migrations for an > EXTRA_MODEL_FIELD and store them in a separate app they actually are run > using that other apps name, so that part was correct. If there was a > transcription error, my guess is that blog in the schemamigration command > should have read mezzanine.blog, not just blog. It may be that it gets > picked up either way. > > My recommendation is to store EXTRA_MODEL_FIELD migrations in an app of > their own that you don't use for anything besides the EXTRA_MODEL_FIELDS > modifications. I would create an app called blog_mods (I like to place it > inside my theme app) and then keep the migrations there. > > Doing that will keep theme's migrations totally separate and should avoid > the error you encountered. > > So your theme directory structure would look like: > > - theme > - blog_mods > - migrations (these are the EXTRA_MODEL_FIELD_MIGRATIONS) > ... other files like admin.py, models.py, etc) ... > -migrations (these are theme's migrations) > ... other files like admin.py, models.py, etc) ... > > You will need to add theme.blog_mods to your INSTALLED_APPS setting. > After creating the migrations you would run: > > $ python manage.py migrate theme.blog_mods > > You can also then use blog_mods.admin to do any monkey patching to get > your new field[s] to show up. > > Good luck! > > On Sat, Apr 18, 2015 at 9:45 AM, Ken Bolton <[email protected] > <javascript:>> wrote: > >> Hi Keith, >> >> Your schemamigration is for the app "blog", but then you are attempting >> to migrate the app "theme". Let us know if that was simply a transcription >> error or the root cause of your issue. >> >> hth, >> ken >> >> On Sat, Apr 18, 2015 at 2:48 AM, Keith Eberle <[email protected] >> <javascript:>> wrote: >> >>> I'm having trouble with a subsequent schema migration after I used >>> EXTRA_MODEL_FIELDS: >>> >>> EXTRA_MODEL_FIELDS = ( >>> ( >>> "mezzanine.blog.models.BlogPost.gallery", >>> "ForeignKey", >>> ("galleries.Gallery",), >>> {'blank': True, 'null': True}, >>> ), >>> ) >>> >>> >>> Then as indicated in the mezzanine docs, I ran: >>> >>> $ python manage.py schemamigration blog --auto --stdout >> >>> theme/migrations/0016_blog_customization.py >>> >>> >>> And then: >>> >>> $ python manage.py migrate theme >>> >>> >>> I quickly glanced at this caveat, but wasn't really sure what it would >>> mean: >>> >>> *Be warned that over time this approach will almost certainly require >>> some manual intervention by way of editing migrations, or modifying the >>> database manually to create the correct state. Ultimately there is a >>> trade-off involved here.* >>> >>> >>> So I made a different change to a model, which was just adding a >>> BooleanField. When I try the schema migration now I get: >>> >>> $ python manage.py schemamigration theme --auto >>> You cannot use automatic detection, since the previous migration does >>> not have this whole app frozen. >>> Either make migrations using '--freeze theme' or set >>> 'SOUTH_AUTO_FREEZE_APP = True' in your settings.py. >>> >>> >>> I've tried to review the docs for the --freeze option, but I'm just not >>> understanding what to do. Example: >>> >>> python manage.py schemamigration --freeze theme --empty --auto >>> You must provide an app to create a migration for. >>> >>> >>> Can someone guide me in the right direction? >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Mezzanine Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected] <javascript:>. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Mezzanine Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Mezzanine Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
