Yes. this is wrong:
Field('City', db.city, 'list:reference city', label='Miestas'),
should be
Field('City', 'list:reference city', label='Miestas'),
On Wednesday, 1 August 2012 09:15:07 UTC-5, Aurelijus Useckas wrote:
>
> Thank you Massimo, but the 1005/150 mysql problem seems to be smth wring
> with foreign key (merging of tables). Are there any flaws in my DAL syntax?
>
> This line seems to be the trigger:
> Field('City', db.city, 'list:reference city', label='Miestas'),
>
> it references:
>
> db.define_table('city',
> Field('name', notnull=True, unique=True),
> format='%(name)s')
>
> any ideas what's bothering mysql?
>
>
> On Wednesday, August 1, 2012 4:56:03 PM UTC+3, Massimo Di Pierro wrote:
>>
>> db = DAL('mysql://....', check_reserved=['common','mysql'])
>>
>> Anyway, I am not sure your problem is that you are using a reserved
>> keyword. Perhaps the table exists already. I am also surprised you are
>> getting a pymysql InternalError and not an OperationalError.
>>
>> On Wednesday, 1 August 2012 07:45:01 UTC-5, Aurelijus Useckas wrote:
>>>
>>> I've changed the long into longitude and it seems to be solved but I
>>> still get errors:
>>>
>>> p2
>>> S'<class \'gluon.contrib.pymysql.err.InternalError\'> (1005, u"Can\'t
>>> create table \'./lpkdb/asoc.frm\' (errno: 150)")'
>>>
>>> Now it says it cannot create next table, which is:
>>>
>>> db.define_table('asoc',
>>> Field('name', label='Pavadinimas', unique=True),
>>> Field('City', db.city, 'list:reference city', label='Miestas'),
>>> Field('address', label='Adresas'),
>>> Field('www'),
>>> Field('tel'),
>>> Field('fax'),
>>> Field('email'),
>>> Field('President', label='Asociacijos prezidentas'),
>>> Field('CEO', label='Asociacijos generalinis'),
>>> Field('CEO_tel', label='Generalinio tel.'),
>>> Field('CEO_email', label='Generalinio email'),
>>> Field('CEO_mob', label='Generalinio mobilus'),
>>> Field('Pres_tel', label='Prezidento tel.'),
>>> Field('Pres_email', label='Prezidento email'),
>>> Field('Pres_mob', label='Prezidento mobilus'),
>>> Field('submited_at', 'datetime', default=request.now,
>>> writable=False, readable=False),
>>> Field('updated_at', 'datetime', default=request.now,
>>> update=request.now, writable=False, readable=False),
>>> Field('submited_by', db.auth_user, default=auth.user_id,
>>> writable=False, readable=False),
>>> Field('updated_by', db.auth_user, update=auth.user_id,
>>> writable=False, readable=False),
>>> format='%(name)s')
>>>
>>> Are there some guidlines on how to construct DAL field names in order to
>>> avoid any conflict while migrating to mysql?
>>>
>>>
>>> On Wednesday, August 1, 2012 3:36:51 PM UTC+3, tomasz bandura wrote:
>>>>
>>>> Is it 'long' a mysql's reserved word?
>>>>
>>>> Regards
>>>> Tomasz
>>>>
>>>> 2012/8/1 Aurelijus Useckas <[email protected]>
>>>>
>>>>> this is the trigger i guess:
>>>>>
>>>>> db.define_table('maps',
>>>>> Field('name'),
>>>>> Field('last_name'),
>>>>> Field('long'),
>>>>> Field('lat'),
>>>>> format='%(name)s')
>>>>>
>>>>> On Wednesday, August 1, 2012 3:30:40 PM UTC+3, Aurelijus Useckas wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I've built the app on SQLite and now want to migrate to the server
>>>>>> based mysql. BUT web2py hangs in the middle of creating, basicaly just
>>>>>> after the auth tables. When I restart the apache I can see auth tables
>>>>>> as
>>>>>> well as a few from my app.
>>>>>>
>>>>>> this is the err ticket that I get:
>>>>>>
>>>>>> (dp1
>>>>>> S'output'
>>>>>> p2
>>>>>> S'<class \'gluon.contrib.pymysql.err.**ProgrammingError\'> (1064,
>>>>>> u"You have an error in your SQL syntax; check the manual that
>>>>>> corresponds
>>>>>> to your MySQL server version for the right syntax to use near \'long
>>>>>> VARCHAR(255),\\n lat VARCHAR(255),\\n PRIMARY KEY(id)\\n)
>>>>>> ENGINE=InnoDB CHA\' at line 5")'
>>>>>> p3
>>>>>> sS'layer'
>>>>>> p4
>>>>>> S'/opt/web-apps/web2py/**applications/init/models/db_**comp.py'
>>>>>> p5
>>>>>> sS'code'
>>>>>> p6
>>>>>>
>>>>>> thnx
>>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
--