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.

Reply via email to