Worked as described.  Thank you!

On Monday, June 10, 2013 4:03:24 PM UTC-4, Niphlod wrote:
>
> that's why web2py is trying to create a table on your database.
> let's try this.... 
> db = DAL(....., fake_migrate=True)
> #auth.extra_fields['....'] = 
>
> auth.define_tables(fake_migrate=True)
>
> this will recreate the relevant file. Be sure to comment out your 
> extra_fields definition so the fake migration just recreates the table file 
> that is "equal" to what you have in your database (an auth_user table 
> WITHOUT the extra field).
> Jump on the database administration page, so all tables are fake_migrated 
> correctly.
> Now, web2py has a "consistent" status of what your tables are at all 
> effects on your database, and you can trigger the addition of the new 
> column.
>
>
> db = DAL(....., migrate=True)
> auth.extra_fields['...'] = .....
> auth.define_tables(migrate=True)
>
> Hit the appadmin page again, and you should have your extra column.
>
> Let us know if there are still problems
>
> On Monday, June 10, 2013 9:21:03 PM UTC+2, Andre Kozaczka wrote:
>>
>> Correct, I do *not* have that file in the databases folder.
>>
>> On Monday, June 10, 2013 3:16:42 PM UTC-4, Niphlod wrote:
>>>
>>> so probably you don't have an *_auth_user.table in the databases/* 
>>> folder. Can you confirm ?
>>>
>>> On Monday, June 10, 2013 6:38:18 PM UTC+2, Andre Kozaczka wrote:
>>>>
>>>> Tried step 1.  I get the same 'auth_user' table already exists.
>>>>
>>>> <class 'gluon.contrib.pymysql.err.InternalError'> (1050, u"Table 
>>>> 'auth_user' already exists")
>>>>
>>>> Step 2 gave the same error.  Seems like whenever migrate is set to True 
>>>> when define_tables is run, I'm getting the table already exists error.
>>>>
>>>> On Monday, June 10, 2013 12:18:17 PM UTC-4, Massimo Di Pierro wrote:
>>>>>
>>>>> Try, in order:
>>>>>
>>>>> 1) 
>>>>>
>>>>> db = DAL(...,fake_migrate=True)
>>>>> ...
>>>>> # auth.settings.extra_fields['auth_user'] = [Field('eft', 'integer')]
>>>>> auth.define_tables(migrate=True)
>>>>>
>>>>> run appadmin.
>>>>>
>>>>> 2)
>>>>> db = DAL(...)
>>>>> ...
>>>>> auth.settings.extra_fields['auth_user'] = [Field('eft', 'integer')]
>>>>> auth.define_tables(migrate=True)
>>>>>
>>>>> run appadmin again.
>>>>>
>>>>>
>>>>> On Monday, 10 June 2013 10:52:26 UTC-5, Andre Kozaczka wrote:
>>>>>>
>>>>>> Also, to clarify....  I'm trying to add this column after I've done 
>>>>>> some development and already had an auth_user table created... don't 
>>>>>> think 
>>>>>> this should matter, but wanted to throw this out there.  Maybe I need to 
>>>>>> manually drop the MySQL table and then see if the migration works with 
>>>>>> the 
>>>>>> added column...?
>>>>>>
>>>>>> On Friday, June 7, 2013 3:12:29 PM UTC-4, Niphlod wrote:
>>>>>>>
>>>>>>> The "column not found" is your "eft" one ?
>>>>>>> You code seems legit (setting migrate=True on the define_tables() 
>>>>>>> function). We need to see the errors and the definition that causes 
>>>>>>> them.
>>>>>>>
>>>>>>> On Friday, June 7, 2013 7:29:12 PM UTC+2, Andre Kozaczka wrote:
>>>>>>>>
>>>>>>>> I'm trying to modify the auth_user table and I keep either getting 
>>>>>>>> a Table 'auth_user' already exist error (when migrate=True) OR a 
>>>>>>>> 'Column 
>>>>>>>> not found' (when migrate=False).  Not sure what I need to do.
>>>>>>>>
>>>>>>>> I've also tried experimenting with fake_migrate but I'm still 
>>>>>>>> getting either one of those errors.  
>>>>>>>>
>>>>>>>> Here is my code:
>>>>>>>> db = DAL(settings.db_uri, pool_size=20)
>>>>>>>>
>>>>>>>>
>>>>>>>> crud = Crud(globals(), db)
>>>>>>>> auth = Auth(globals(), db)
>>>>>>>>
>>>>>>>> auth.settings.actions_disabled.append('register') 
>>>>>>>> auth.settings.extra_fields['auth_user'] = [Field('eft', 'integer')]
>>>>>>>>
>>>>>>>> auth.define_tables(migrate=True)
>>>>>>>>
>>>>>>>>
>>>>>>>>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-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/groups/opt_out.


Reply via email to