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

Reply via email to