Wait!  I figured it out!  When lazy_tables=True the column structure is 
migrated only when the table is built.  Duh!  I switched lazy_tables=False 
and it migrated table 2 as you experienced.

Whew!  I thought I was going crazy(er) for awhile!

-- Joe B.

On Wednesday, December 5, 2012 12:25:51 PM UTC-8, Niphlod wrote:
>
> thx. Just checked with stable and development, columns get migrated and a 
> costraint is applied both to the parent and the child table
>
> On Wednesday, December 5, 2012 7:58:30 PM UTC+1, Joe Barnhart wrote:
>>
>> Ok, here is the setup.  I have a table defined:
>>
>>
>> db.define_table("xxxxxxx",
>>     Field("lastname","string",length=50,label="Last name",requires=
>> IS_NOT_EMPTY() ),
>>     Field("firstname","string",length=50,label="First name",requires=
>> IS_NOT_EMPTY() ),
>>     Field("middlename","string",length=50,label="Middle name" ),
>>     Field("prefname","string",length=50,label="Nickname"),
>>     Field("birth","date",label="Birth date",requires=IS_DATE()),
>>     Field("ussnum","string",length=14,unique=True),
>>     . . .
>>
>>
>>
>> This table is used in a later table definition...
>>
>>
>> db.define_table("yyyyyyy", db.xxxxxxx,
>>     Field("regstate","string",length=10,label="Registration state",
>> readable=False,writable=False),
>>     Field("processdate","date",label="Process date",readable=False,
>> writable=False),
>>     . . . 
>>
>>
>> I added the "unique=True" constraint to the column highlighted in table 
>> xxxxxxx and then opened a page to cause the web2py table migration to take 
>> place.  I examined both table xxxxxxx and yyyyyyy with the Postgres tools 
>> and found that table xxxxxxx had the column constraint added but table 
>> yyyyyyy did not.
>>
>> -- Joe B.
>>
>>
>>
>> On Wednesday, December 5, 2012 3:20:55 AM UTC-8, Niphlod wrote:
>>>
>>> uhm: are you sure that adding unique=True gets the created index also in 
>>> the parent table ? I think that the unique is enforced only on creation and 
>>> not in migration (but the requires=IS_IN_DB() gets added anyway). In any 
>>> case, what are you observing? (in other words, post a model and a 
>>> controller to reproduce the issue)
>>>
>>> On Wednesday, December 5, 2012 12:08:03 PM UTC+1, Joe Barnhart wrote:
>>>>
>>>> This is probably old news, but I noticed this evening that altering a 
>>>> table which is used as a "parent" by another does not cause its child 
>>>> table 
>>>> to be altered.
>>>>
>>>> I have a table which I added a "unique=True" constraint on this evening 
>>>> and its child table did not get the added constraint when web2py did its 
>>>> migration.
>>>>
>>>> (I admit to being lazy and not searching to see if this has been 
>>>> reported before.  Google groups are pretty hard to search for something 
>>>> this specific.)
>>>>
>>>> -- Joe B.
>>>>
>>>>

-- 



Reply via email to