Again web2py-users doesnt disappoint.
I forgot that opposed to sqlite postgres has strong typing of fields so you
have to have existing tables for fk.
(I thought that 'reference table' instead of db.table - overrides that, at
the app level it does at least)
I think this should perhaps go to book about db gotchas.
Since most people start rumbling on sqlite and then migrate... worth
reminding I guess.
Thanks again.
W dniu sobota, 21 lipca 2012 16:08:29 UTC+2 użytkownik Niphlod napisał:
>
> on sql.log in your databases folder there is the excerpt of the statements
> used to create the table.
>
> I'm guessing that you implemented your app adding here and there tables
> but never defining them "in order" .
>
> This seems the kind of problem when you try to create a table with foreign
> keys pointing to a table that doesn't yet exist (i.e. Field('detail_id',
> db.details) without the db.details be defined already).
>
>
> On Saturday, July 21, 2012 11:55:10 AM UTC+2, Marek Mollin wrote:
>>
>> other info:
>> I am using postgres 9.1
>>
>> No migrate is not set to false. + it creates all other tables it just
>> stops at certain point and skips a few of them.
>>
>> error stack:
>>
>> Traceback (most recent call last):
>> File "G:\mac-backup\CLIENTS 2\paczkon\web2py\gluon\restricted.py", line
>> 205, in restricted
>> exec ccode in environment
>> File "G:/mac-backup/CLIENTS
>> 2/paczkon/web2py/applications/menzo/models/db.py"
>> <http://127.0.0.1:8000/admin/default/edit/menzo/models/db.py>, line 212, in
>> <module>
>> format=lambda r: '%s %s %s' % (r.user.email, r.status, r.price)
>> File "G:\mac-backup\CLIENTS 2\paczkon\web2py\gluon\dal.py", line 6320, in
>> define_table
>> polymodel=polymodel)
>> File "G:\mac-backup\CLIENTS 2\paczkon\web2py\gluon\dal.py", line 719, in
>> create_table
>> self.create_sequence_and_triggers(query,table)
>> File "G:\mac-backup\CLIENTS 2\paczkon\web2py\gluon\dal.py", line 1954, in
>> create_sequence_and_triggers
>> self.execute(query)
>> File "G:\mac-backup\CLIENTS 2\paczkon\web2py\gluon\dal.py", line 1392, in
>> execute
>> return self.log_execute(*a, **b)
>> File "G:\mac-backup\CLIENTS 2\paczkon\web2py\gluon\dal.py", line 1386, in
>> log_execute
>> ret = self.cursor.execute(*a, **b)
>> ProgrammingError: relation "delivery_type" does not exist
>>
>>
>> W dniu piątek, 20 lipca 2012 23:30:00 UTC+2 użytkownik rochacbruno
>> napisał:
>>>
>>>
>>> are you sure the migrate is not False in db = DAL(...) ?
>>>
>>> try including migrate=True in your define_table
>>>
>>> On Fri, Jul 20, 2012 at 6:17 PM, Marek Mollin <[email protected]> wrote:
>>>
>>>> Hey,
>>>> Problem is as follows.
>>>> I start a clean db in psql. Test the connection + delete all the
>>>> /databases files to fresh with remote db.
>>>> When I launch index page tables start getting created then I get error
>>>> regarding some table is missing. I check sql.log and it did not even start
>>>> creating the table (this + a few more get ommited).
>>>>
>>>> I have check_reserved in my DAL declaration. Table is not ill named:
>>>>
>>>> db.define_table('delivery_type',
>>>> Field('name','string'),
>>>> Field('price','double'),
>>>> format=lambda r: r.name
>>>> )
>>>>
>>>> but there are others not getting created
>>>> version 1.99.7
>>>>
>>>> --
>>>>
>>>>
>>>>
>>>>
>>>
>>>
--