Thats only happens in mysql , its ok with sqllite. On Fri, Oct 10, 2008 at 6:04 PM, Phyo Arkar <[EMAIL PROTECTED]>wrote:
> yeah , i lost all my data everytime i change a datatype for afield , in the > table defination.. > > So , how to make it work without dropping? > > > > > On Fri, Oct 10, 2008 at 6:00 PM, mdipierro <[EMAIL PROTECTED]>wrote: > >> >> No. In principle you should never drop. When you drop you lose all >> your data. >> >> >> On Oct 10, 12:50 pm, "Phyo Arkar" <[EMAIL PROTECTED]> wrote: >> > Thanks I will try; >> > >> > if i alter table , have to always drop? >> > >> > On Fri, Oct 10, 2008 at 5:40 PM, mdipierro <[EMAIL PROTECTED]> >> wrote: >> > >> > > 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 -~----------~----~----~----~------~----~------~--~---