thanks for the response Derek,

I am using PostgreSQL with web2py

how would I do what you recommend regarding "setting to cascade"?

On Tuesday, October 15, 2013 1:36:55 PM UTC-5, Derek wrote:
>
> Well, I don't see the error in the code, but if the error you are getting 
> is 'foreign key constraint' then the problem is you are trying to truncate 
> tables that are used as foreign keys for other tables. You generally have 
> to truncate those tables that are referencing the table in question first 
> (the order of operations is important) and then you can truncate those 
> tables. This is also a side effect of having the foreign key referential 
> actions set to 'no action' or 'restrict'. You'd want it to 'cascade' if you 
> want to delete items in this manner, otherwise, you must reorder your 
> operations to delete the leaf rows first.
>
> On Tuesday, October 15, 2013 10:45:57 AM UTC-7, Auden RovelleQuartz wrote:
>>
>>
>> when I run this function,
>>
>> *def truncate_db_tables(the_db):*
>> * for table_name in the_db.tables():*
>> * the_db[table_name].truncate()*
>> * the_db.commit()*
>> * return()*
>>
>>
>> I get the following error (traceback provided below) - does anyone 
>> understand what this means?
>>
>> Traceback
>>
>> 1.
>> 2.
>> 3.
>> 4.
>> 5.
>> 6.
>> 7.
>> 8.
>> 9.
>> 10.
>> 11.
>> 12.
>> 13.
>> 14.
>> 15.
>> 16.
>> 17.
>> 18.
>> 19.
>> 20.
>> 21.
>> 22.
>> 23.
>> 24.
>> 25.
>> 26.
>> 27.
>> 28.
>> 29.
>> 30.
>> 31.
>> 32.
>> 33.
>> 34.
>> 35.
>> 36.
>> 37.
>> 38.
>> 39.
>> 40.
>> 41.
>> 42.
>> 43.
>> 44.
>> 45.
>> 46.
>>
>> Traceback (most recent call last):
>>   File "/home/www-data/web2py/gluon/restricted.py", line 212, in restricted
>>     exec ccode in environment
>>   File "/home/www-data/web2py/applications/omniavx/controllers/developer.py" 
>> <https://omniavx.com/admin/default/edit/omniavx/controllers/developer.py>, 
>> line 353, in <module>
>>   File "/home/www-data/web2py/gluon/globals.py", line 194, in <lambda>
>>     self._caller = lambda f: f()
>>   File "/home/www-data/web2py/applications/omniavx/controllers/developer.py" 
>> <https://omniavx.com/admin/default/edit/omniavx/controllers/developer.py>, 
>> line 115, in testview5
>>     default_database_state_dev00()
>>   File "/home/www-data/web2py/applications/omniavx/models/res_alpha.py" 
>> <https://omniavx.com/admin/default/edit/omniavx/models/res_alpha.py>, line 
>> 40, in default_database_state_dev00
>>     default_database_state_a00()
>>   File "/home/www-data/web2py/applications/omniavx/models/res_alpha.py" 
>> <https://omniavx.com/admin/default/edit/omniavx/models/res_alpha.py>, line 
>> 27, in default_database_state_a00
>>     default_database_state_dev99()
>>   File "/home/www-data/web2py/applications/omniavx/models/res_alpha.py" 
>> <https://omniavx.com/admin/default/edit/omniavx/models/res_alpha.py>, line 
>> 46, in default_database_state_dev99
>>     truncate_db_tables(db)
>>   File "/home/www-data/web2py/applications/omniavx/models/res_alpha.py" 
>> <https://omniavx.com/admin/default/edit/omniavx/models/res_alpha.py>, line 
>> 2718, in truncate_db_tables
>>     the_db[table_name].truncate()
>>   File "/home/www-data/web2py/gluon/dal.py", line 8648, in truncate
>>     return self._db._adapter.truncate(self, mode)
>>   File "/home/www-data/web2py/gluon/dal.py", line 1425, in truncate
>>     self.execute(query)
>>   File "/home/www-data/web2py/gluon/dal.py", line 1784, in execute
>>     return self.log_execute(*a, **b)
>>   File "/home/www-data/web2py/gluon/dal.py", line 1778, in log_execute
>>     ret = self.cursor.execute(command, *a[1:], **b)
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/dbapi.py", line 246, in 
>> _fn
>>     return fn(self, *args, **kwargs)
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/dbapi.py", line 317, in 
>> execute
>>     self._execute(operation, args)
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/dbapi.py", line 322, in 
>> _execute
>>     self.cursor.execute(new_query, *new_args)
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/interface.py", line 399, 
>> in execute
>>     self._stmt.execute(*args, **kwargs)
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/interface.py", line 169, 
>> in execute
>>     self._row_desc, cmd = self.c.bind(self._portal_name, 
>> self._statement_name, args, self._parse_row_desc, kwargs.get("stream"))
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/protocol.py", line 943, 
>> in _fn
>>     return fn(self, *args, **kwargs)
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/protocol.py", line 1142, 
>> in bind
>>     return reader.handle_messages()
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/protocol.py", line 911, 
>> in handle_messages
>>     retval = handler(msg, *args, **kwargs)
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/protocol.py", line 1181, 
>> in _bind_nodata
>>     reader.handle_messages()
>>   File "/home/www-data/web2py/gluon/contrib/pg8000/protocol.py", line 916, 
>> in handle_messages
>>     raise exc
>> P
>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to