SQLA doesn't generate those defaults without being told explicitly. Are you sure you don't have some other table metadata, or perhaps schema events in place which are adding defaults ?
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Table, CHAR, TIMESTAMP, TEXT, schema, Column from uuid import uuid4 as uuid Base = declarative_base() class Foo(Base): __tablename__ = 'foo' #column definitions id = Column(u'id', CHAR(length=36), default=uuid, primary_key=True, nullable=False) date_added = Column(u'dateAdded', TIMESTAMP(), nullable=False) reason = Column(u'reason', TEXT()) from sqlalchemy.dialects import mysql print schema.CreateTable(Foo.__table__).compile(dialect=mysql.dialect()) output: CREATE TABLE foo ( id CHAR(36) NOT NULL, `dateAdded` TIMESTAMP, reason TEXT, PRIMARY KEY (id) ) On Nov 28, 2011, at 4:45 PM, Ben Hayden wrote: > Say I have a model (running on MySQL): > > class Foo(DeclarativeBase): > __tablename__ = 'foo' > > #column definitions > id = Column(u'id', CHAR(length=36), default=uuid, primary_key=True, > nullable=False) > date_added = Column(u'dateAdded', TIMESTAMP(), nullable=False) > reason = Column(u'reason', TEXT()) > > > > The Create Table SQL being generated is: > > CREATE TABLE `foo` ( > `id` char(36) NOT NULL, > `dateAdded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE > CURRENT_TIMESTAMP, > `reason` text, > PRIMARY KEY (`id`) > ) ENGINE=InnoDB DEFAULT CHARSET=utf8; > > I'd like for the dateAdded column to be a dateAdded - not dateUpdated, which > would leave the Create Table SQL to look like this: > > CREATE TABLE `foo` ( > `id` char(36) NOT NULL, > `dateAdded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, > `reason` text, > PRIMARY KEY (`id`) > ) ENGINE=InnoDB DEFAULT CHARSET=utf8; > > Any ideas on how to do this? I keep googlin' around, but setting onupdate or > server_onupdate doesn't seem to work for me (yet...) Thanks! > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/sqlalchemy/-/36ZXHV5mZMIJ. > 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. -- 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.