You can only drop it after define. If you know for sure the table exists it is ok to do
db=SQLDB(..) db.define_table('student',migrate=False) db.student.drop() On Oct 10, 12:22 pm, "Phyo Arkar" <[EMAIL PROTECTED]> wrote: > Code : > > dbOBJECT.define_table("student", > SQLField("std_id", "string", length=32, notnull=True, default=None), > SQLField("std_name", "string", length=80, notnull=True, default=None), > SQLField("password", "password", notnull=True, default=None)) > > On Fri, Oct 10, 2008 at 5:21 PM, Phyo Arkar <[EMAIL PROTECTED]>wrote: > > > Another DB problem > > > I tried to changed database schema , data type Text to string , and now it > > is giving this error : > > > code : > > > Ticket 127.0.0.1.2008-10-10.23-35-33.c7c54895-a27b-43b1-bf3d-2888acd4527e > > > Error traceback > > > 1. > > 2. > > 3. > > 4. > > 5. > > 6. > > 7. > > 8. > > 9. > > > Traceback (most recent call last > > ): > > File "/opt/web2py/gluon/main.py", line 231, in wsgibase > > > SQLDB.close_all_instances(SQLDB.rollback) > > > File "/opt/web2py/gluon/sql.py", line 299, in close_all_instances > > > action(instance) > > File "/opt/web2py/gluon/sql.py", line 509, in rollback > > > self._connection.rollback() > > ProgrammingError: (2014, "Commands out of sync; you can't run this command > > now") > > > Powered by web2py <http://www.web2py.com/> (TM) created by Massimo Di > > Pierro (c) 2007, 2008 > > > SO i tried to drop but without success : > > > In [3]: dbOBJECT = SQLDB("mysql://[EMAIL PROTECTED]/ealba") > > > In [4]: dbOBJECT.student.drop() > > --------------------------------------------------------------------------- > > KeyError Traceback (most recent call last) > > > /opt/web2py/<ipython console> in <module>() > > > /opt/web2py/gluon/sql.pyc in __getattr__(self, key) > > 248 a dictionary that let you do d['a'] as well as d.a > > 249 """ > > --> 250 def __getattr__(self, key): return self[key] > > 251 def __setattr__(self, key, value): > > 252 if self.has_key(key): > > > KeyError: 'student' > > > Models cannot be load as there is error. > > > On Tue, Sep 30, 2008 at 2:20 AM, mdipierro <[EMAIL PROTECTED]>wrote: > > >> I think it would be too dangerous. > > >> python web2py.py -S myapp > >> >>> db.table.drop() > > >> seems easy enough. > > >> On Sep 29, 8:18 pm, yarko <[EMAIL PROTECTED]> wrote: > >> > I wounder if it would be worthwhile to add "drop table" to the db > >> > administration gui at some point? > > >> > On Sep 29, 4:43 pm, "Phyo Arkar" <[EMAIL PROTECTED]> wrote: > > >> > > Dear Massimo; > > >> > > I deleted via Mysql console.. > > >> > > Thats why i think it messedup.. > > >> > > Now it ok after i deleted everything under database folder. > > >> > > Thanks a lot. > > >> > > On 9/29/08, mdipierro <[EMAIL PROTECTED]> wrote: > > >> > > > What do you mean by "after I deleted the table"? > > >> > > > You are supposed to use web2py command > > >> > > > python web2py.py -S youapp -M > >> > > > >>> albereport.report.drop(). > >> > > > >>> albereport.commit() > > >> > > > If you want to delete a table manually there are two things you need > >> > > > to do: > >> > > > 1) DROP TABLE using SQL > >> > > > 2) delete the corresponding app/databases/***.table > > >> > > > If you did 1 without 2 or vice versa you need to complete the > >> > > > complementary op for it to succeed. If you are suing sqlite, it will > >> > > > be clearer to just remove everything in databases/* (assuming no > >> > > > valuable data in there). > > >> > > > Massimo > > >> > > > On Sep 29, 2:52 pm, "Phyo Arkar" <[EMAIL PROTECTED]> wrote: > >> > > > > Dear All.. > > >> > > > > Suddenly Web2py stop working , it happen after i deleted the > >> table.. But > >> > > > it > >> > > > > do not recreate.. > > >> > > > > Code is as below > > >> > > > > from gluon.sql import * > >> > > > > #import gluon.validators as vd > >> > > > > albareport=SQLDB("mysql://[EMAIL PROTECTED]/studentreport") > > >> albareport.define_table('student',SQLField('std_id'),SQLField('username','t > >> ext'),SQLField('password','password')) > > >> > > > > albareport.define_table('report' > > >> ,SQLField('result_date'),SQLField('std_id',albareport.student),SQLField('ma > >> rk')) > > >> > > > > msg="null" > > >> albareport.student.std_id.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(albareport, > >> 'student.std_id')] > >> > > > > albareport.student.username.requires=[IS_NOT_EMPTY()] > > >> > > > > albareport.report.std_id.requires=IS_IN_DB(albareport, > >> > > > albareport.student.id > >> > > > > ,albareport.student.std_id) > >> > > > > albareport.report.mark.requires=IS_NOT_EMPTY() > >> > > > > Error traceback > > >> > > > > 1. > >> > > > > 2. > >> > > > > 3. > >> > > > > 4. > >> > > > > 5. > >> > > > > 6. > >> > > > > 7. > > >> > > > > Traceback (most recent call last): > >> > > > > File "/root/web2py/web2py/gluon/restricted.py", line 62, in > >> restricted > >> > > > > File > >> "/opt/web2py/applications/albastudent/models/albareport.py", > >> > > > > line 8, in <module> > >> > > > > albareport.define_table('report' > > >> ,SQLField('result_date'),SQLField('std_id',albareport.student),SQLField('ma > >> rk')) > >> > > > > File "/root/web2py/web2py/gluon/sql.py", line 500, in > >> define_table > >> > > > > ProgrammingError: (1146, "Table 'studentreport.report' doesn't > >> exist") > > >> > > > > Why? Web2py suppose to recreate the Table if it is not existed.. > >> whats > >> > > > > wrong.. i cannot fix my app anyway .. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---