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
>>>>>
>>>> --
>>>>
>>>>
>>>>
>>>>
>>>
>>>
--