Looks like it has something to do with the use of an uppercase letter in 
itemType (the keyerror indicates it is looking for 'itemtype' -- no 
uppercase). Maybe related to 
https://groups.google.com/d/topic/web2py/tziBAOJFzJE/discussion.
 
Anthony

On Friday, July 15, 2011 3:23:21 PM UTC-4, Jim S wrote:

> I just went and recreated my db from scratch and then sync'd my old records 
> over.  No big deal this time...
>
>
> On 7/15/2011 2:15 PM, Jim Steil wrote: 
>
> Did that already and couldn't find anything.
>
>
> On 7/15/2011 2:16 PM, Anthony wrote: 
>
> Not sure about that -- check out 
> http://web2py.com/book/default/chapter/06#Fixing-Broken-Migrations.
>
> On Friday, July 15, 2011 3:09:37 PM UTC-4, Jim S wrote:
>
>> Ok, I updated my table def here to be
>>
>> Field('itemType', length=50, required=True, label='Item Type'), 
>>
>> , ran with migrate=False, fake_migrate=True and everything works.  When I 
>> remove migrate=False, fake_migrate=True, then I get the following traceback:
>>
>> Traceback (most recent call last):
>>   File "gluon/restricted.py", line 184, in restricted
>>   File "C:/dev/web2py/applications/InfoCenter/models/db.py" 
>> <http://127.0.0.1:8000/admin/default/edit/InfoCenter/models/db.py>, line 
>> 372, in <module>
>>   File "gluon/dal.py", line 4213, in define_table
>>   File "gluon/dal.py", line 641, in create_table
>>   File "gluon/dal.py", line 696, in migrate_table
>>   File "gluon/dal.py", line 4570, in __getitem__
>> KeyError: 'itemtype'
>>
>>
>> Thoughts?
>>
>>     -Jim
>>
>>
>> On 7/15/2011 1:05 PM, Jim Steil wrote: 
>>
>> Found this one myself.  Don't use 'list:string'.  This is just a regular 
>> string field. 
>>
>> On 7/15/2011 12:55 PM, Jim Steil wrote: 
>>
>> Hi 
>>
>> Having another problem today with the following: 
>>
>> table defined as: 
>>
>> priceBackerItem = db.define_table('priceBackerItem', 
>>             Field('priceBackerItemId', 'id'), 
>>             Field('priceBackerId', db.priceBacker, required=True, 
>> label='Price Backer'), 
>>             Field('itemType', 'list:string', required=True, label='Item 
>> Type'), 
>>             Field('sequence', 'integer'), 
>>             Field('description', 'text'), 
>>             Field('price', 'decimal(9,2)', label='15-Day Price'), 
>>             Field('subscript', 'text')) 
>>
>> priceBackerItem.priceBackerItemId.requires = IS_NOT_EMPTY() 
>> priceBackerItem.itemType.requires = IS_IN_SET(['Special Formulation Price 
>> Adjustment', 
>>                                     'Medication Price Adjustment'], 
>>                                     zero='choose one',multiple=False) 
>>
>> Using CRUD, when the update form displays, it never displays the current 
>> value of item type.  The reason is (my best guess) that when I look in the 
>> database (mysql), I see the values as: 
>>
>> |Medication Price Adjustment| or 
>> |Special Formulation Price Adjustment| 
>>
>> ...including the vertical lines in the text. 
>>
>> Any advice? 
>>
>>     -Jim 
>>
>>

Reply via email to