Thanks for the patch. I've updated tip.

-Chris

On Fri, Jul 30, 2010 at 5:06 PM, Chris Laux <[email protected]> wrote:

>  On 7/30/2010 8:55 AM, Issac Kelly wrote:
>
> Chris, I didn't think of this when we were talking on IRC, but it's
> possible that this is a South bug and not a Satchmo bug as well.
>
> Satchmo Team:  Can anyone remember if apps/product/migrations/
> 0003_add_productattribute_option.py was hand-written by a dev or
> auto-generated by South?
>
>
> Either way, attached is a patch that fixes the following problems I had
> when migrating my 0.9.0 Satchmo install to 0.9.1:
> - minor typo (Inavlid -> Invalid)
> - made the new AttributeOption's description field have the same data as
> its name (admin showed blanks for all options)
> - changed the migration to only create one AttributeOption per name
> (otherwise you'd end up with lots of identical ones)
> - fixed the bug causing the AttributeError below (added ".objects" before
> ".get" - how could this have worked at all?)
>
> I don't know if this is what all Satchmo users would want the migration to
> do, but it did what I wanted.
>
> Let me know if I did something completely wrong. :)
>
>
>
>  On Thu, Jul 29, 2010 at 6:01 PM, Chris Laux <[email protected]> wrote:
>
>> Hello Satchmo users,
>>
>> I'm trying to upgrade a 0.9.0 Satchmo install to 0.9.1. When running the
>> migrations, I get this error:
>>
>> $ ./manage.py migrate product
>> /home/chris/satchmo091/lib/python2.6/site-packages/registration/models.py:4:
>> DeprecationWarning: the sha module is deprecated; use the hashlib module
>> instead
>>  import sha
>> Running migrations for product:
>>  - Migrating forwards to 0011_split_products.
>> > product:0002_add_attributeoption
>> > product:0003_add_productattribute_option
>>  ! 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:   = ALTER TABLE
>> `product_productattribute` DROP COLUMN `option_id` CASCADE; []
>>
>>  ! The South developers regret this has happened, and would
>>  ! like to gently persuade you to consider a slightly
>>  ! easier-to-deal-with DBMS.
>>  ! NOTE: The error which caused the migration to fail is further up.
>> Traceback (most recent call last):
>>  File "./manage.py", line 11, in <module>
>>    execute_manager(settings)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/django/core/management/__init__.py",
>> line 362, in execute_manager
>>    utility.execute()
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/django/core/management/__init__.py",
>> line 303, in execute
>>    self.fetch_command(subcommand).run_from_argv(self.argv)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/django/core/management/base.py",
>> line 195, in run_from_argv
>>    self.execute(*args, **options.__dict__)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/django/core/management/base.py",
>> line 222, in execute
>>    output = self.handle(*args, **options)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/management/commands/migrate.py",
>> line 109, in handle
>>    ignore_ghosts = ignore_ghosts,
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/migration/__init__.py",
>> line 202, in migrate_app
>>    success = migrator.migrate_many(target, workplan, database)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/migration/migrators.py",
>> line 220, in migrate_many
>>    result = migrator.__class__.migrate_many(migrator, target, migrations,
>> database)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/migration/migrators.py",
>> line 291, in migrate_many
>>    result = self.migrate(migration, database)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/migration/migrators.py",
>> line 125, in migrate
>>    result = self.run(migration)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/migration/migrators.py",
>> line 99, in run
>>    return self.run_migration(migration)
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/migration/migrators.py",
>> line 81, in run_migration
>>    migration_function()
>>  File
>> "/home/chris/satchmo091/lib/python2.6/site-packages/south/migration/migrators.py",
>> line 57, in <lambda>
>>    return (lambda: direction(orm))
>>  File
>> "/home/chris/satchmo091/src/satchmo/satchmo/apps/product/migrations/0003_add_productattribute_option.py",
>> line 21, in forwards
>>    attr.option = orm['product.AttributeOption'].get(name__exact=attr.name
>> )
>> AttributeError: type object 'AttributeOption' has no attribute 'get'
>>
>> I've never used South before, but after looking over the migration script,
>> I thought the problem was a missing ".objects" before the ".get". Trying
>> that, I got an exception because the .get() returned more than 1 row.
>>
>> Is this a known problem, or did I miss something stupid? I'm using MySQL,
>> Python 2.6, South 0.7.1. I'm running the upgrade on a copy of my live site,
>> both of which are in separate virtualenvs with separate DBs.
>>
>> Thanks.
>>
>> --
>> Chris Laux
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Satchmo users" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<satchmo-users%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/satchmo-users?hl=en.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Satchmo users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/satchmo-users?hl=en.
>
>
>
> --
> Chris Laux
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Satchmo users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<satchmo-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/satchmo-users?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Satchmo users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/satchmo-users?hl=en.

Reply via email to