On Wed, Oct 14, 2009 at 9:03 PM, Martijn Moeling <mart...@xs4us.nu> wrote: > > Hi, > I have a python module where I am implementing several classes. > When I do a "metadata.create_all(engine)" > every time Mysql trows an exception (1064, PROGRAMMING ERROR), but on a > different table, I think SQLAlchemy is behaving different every time I run > the program. > > ie (one of the definitions failing): > class Journal(Base): > __tablename__ = "CalendarJournals" > Id = Column(Integer(), primary_key=True,quote=True) > Attendees = relation(Attendee, cascade="all") > Attachments = relation(Attachment, cascade="all") > Catagories = relation(Catagorie, cascade="all") > Comments = relation(Comment, cascade="all") > Contacts = relation(Contact, cascade="all") > ExDates = relation(ExDate, cascade="all") > ExRules = relation(ExRule, cascade="all") > RDates = relation(RDate, cascade="all") > Related = relation(Relate, cascade="all") > RRules = relation(RRule, cascade="all") > RStatusses = relation(RStatus, cascade="all") > XProps = relation(XProp, cascade="all") > > Class = Column(Unicode(20),quote=True) > Created = Column(DateTime(),quote=True) > Description = Column(UnicodeText(),quote=True) > DTStamp = Column(DateTime(),quote=True) > DtStart = Column(DateTime(),quote=True) > LastModified = Column(DateTime(),quote=True) > RecurId = Column(Unicode(),quote=True) > Sequence = Column(Integer(),quote=True) > Status = Column(Unicode(),quote=True) > Summary = Column(Unicode(),quote=True) > uid = Column(Unicode(),quote=True) > url = Column(Unicode(),quote=True) > ProgrammingError: (ProgrammingError) (1064, "You have an error in your SQL > syntax; check the manual that corresponds to your MySQL server version for > the right syntax to use near ' \n\t`Sequence` INTEGER, \n\t`Status` VARCHAR, > \n\t`Summary` VARCHAR, \n\t`uid` VARCHAR,' at line 9") '\nCREATE TABLE > `CalendarJournals` (\n\t`Id` INTEGER NOT NULL AUTO_INCREMENT, \n\t`Class` > VARCHAR(20), \n\t`Created` DATETIME, \n\t`Description` TEXT, \n\t`DTStamp` > DATETIME, \n\t`DtStart` DATETIME, \n\t`LastModified` DATETIME, \n\t`RecurId` > VARCHAR, \n\t`Sequence` INTEGER, \n\t`Status` VARCHAR, \n\t`Summary` > VARCHAR, \n\t`uid` VARCHAR, \n\t`url` VARCHAR, \n\tPRIMARY KEY > (`Id`)\n)\n\n' () > CREATE TABLE `CalendarJournals` ( > `Id` INTEGER NOT NULL AUTO_INCREMENT, > `Class` VARCHAR(20), > `Created` DATETIME, > `Description` TEXT, > `DTStamp` DATETIME, > `DtStart` DATETIME, > `LastModified` DATETIME, > `RecurId` VARCHAR, > `Sequence` INTEGER, > `Status` VARCHAR, > `Summary` VARCHAR, > `uid` VARCHAR, > `url` VARCHAR, > PRIMARY KEY (`Id`) > ) > The Error: ERROR 1064 (42000) at line 3: You have an error in your SQL > syntax; check the manual that corresponds to your MySQL server version for > the right syntax to use near ' `Sequence` INTEGER, `Status` VARCHAR, > `Summary` VARCHAR, `uid` VARCHAR, `url` V' > > Since the syntax seems to be correct and Sequence is Quoted with BackQuotes > (`). I am puzzled what to do to fix this. > Please help, > Martijn >
I think VARCHAR need a length, but most of your table field has no length. -- I like python! UliPad <<The Python Editor>>: http://code.google.com/p/ulipad/ UliWeb <<simple web framework>>: http://uliwebproject.appspot.com My Blog: http://hi.baidu.com/limodou --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---