Hi Massimo,

Happy New Year !

Yes, the table doesn't exist.
It was named "comment" and I even renamed it "sub_comment" to be sure there
are no conflicts.
If the table exists, the error message is "table already exists".
I don't know what is error 150 but maybe the problem is due to DotCloud,
not web2py.

Cheers,

Thomas

On Sunday, January 1, 2012, Massimo Di Pierro <massimo.dipie...@gmail.com>
wrote:
> Not sure what the problem is but list:reference does work with mysql.
> Are you sure the table does not exist already?
>
> On Dec 30, 10:25 pm, Thomas Dall'Agnese <thomas.dallagn...@gmail.com>
> wrote:
>> Hi,
>>
>> After having errors in PostgreSQL, I moved to MySQL and also got errors.
>> With MySQL, I can't create some tables (but some tables worked!).
>>
>> Error:
>>
>> Traceback (most recent call last):
>>   File "/home/dotcloud/current/gluon/restricted.py", line 204, in
restricted
>>     exec ccode in environment
>>   File
"/home/dotcloud/rsync-1325304927060/applications/myapp/models/db_wizard.py"
, line 54, in <module>
>>     migrate=settings.migrate)
>>   File "/home/dotcloud/current/gluon/dal.py", line 5097, in define_table
>>     polymodel=polymodel)
>>   File "/home/dotcloud/current/gluon/dal.py", line 705, in create_table
>>     self.create_sequence_and_triggers(query,table)
>>   File "/home/dotcloud/current/gluon/dal.py", line 1348, in
create_sequence_and_triggers
>>     self.execute(query)
>>   File "/home/dotcloud/current/gluon/dal.py", line 1359, in execute
>>     return self.log_execute(*a, **b)
>>   File "/home/dotcloud/current/gluon/dal.py", line 1353, in log_execute
>>     ret = self.cursor.execute(*a, **b)
>>   File "/home/dotcloud/current/gluon/contrib/pymysql/cursors.py", line
108, in execute
>>     self.errorhandler(self, exc, value)
>>   File "/home/dotcloud/current/gluon/contrib/pymysql/connections.py",
line 184, in defaulterrorhandler
>>     raise errorclass, errorvalue
>> InternalError: (1005, u"Can't create table 'mysql.sub_comment' (errno:
150)")
>>
>> My sub_comment table is defined as follow:
>> db.define_table('sub_comment',
>>     Field('sub', type='reference sub',
>>           label=T('Sub')),
>>     Field('user', type='reference auth_user',
>>           label=T('User')),
>>     Field('date_added', type='datetime',
>>           label=T('Date Added')),
>>     Field('error_types', type='list:reference error_type',
>>           label=T('Error Type')),
>>     Field('balises', type='list:reference balise',
>>           label=T('Balise')),
>>     Field('content', type='text', notnull=True, required=True,
>>           label=T('Content')),
>>     auth.signature,
>>     format='%(content)s',
>>     migrate=settings.migrate)
>>
>> And the referenced tables are already created by web2py (worked)
>> Maybe "list:" doesn't work with MySQL?
>>
>> Best regards,
>>
>> Thomas

-- 

Best Regards,

Thomas

Reply via email to