Skip to content

Instantly share code, notes, and snippets.

@cerivera
Created August 25, 2014 19:19
Show Gist options
  • Save cerivera/5c01f8f2e0f2b282472e to your computer and use it in GitHub Desktop.
Save cerivera/5c01f8f2e0f2b282472e to your computer and use it in GitHub Desktop.
Enable TextClause values for server_default
# Test Models.py
class Test(Base):
__tablename__ = 'test'
id = Column(BigInteger, primary_key=True)
created_at = Column(DateTime, server_default=text('now()'))
created_at2 = Column(DateTime, server_default=text("(now() at time zone 'utc')"))
created_at3 = Column(DateTime, server_default=func.now())
###
### Current master version autogenerated this:
###
def upgrade():
op.create_table('test',
sa.Column('id', sa.BigInteger(), nullable=False),
sa.Column('created_at', sa.DateTime(), server_default='now()', nullable=True),
sa.Column('created_at2', sa.DateTime(), server_default="(now() at time zone 'utc')", nullable=True),
sa.Column('created_at3', sa.DateTime(), server_default='now()', nullable=True),
sa.PrimaryKeyConstraint('id')
)
###
### My fix autogenerated this:
###
def upgrade():
op.create_table('test',
sa.Column('id', sa.BigInteger(), nullable=False),
sa.Column('created_at', sa.DateTime(), server_default=sa.text('now()'), nullable=True),
sa.Column('created_at2', sa.DateTime(), server_default=sa.text("(now() at time zone 'utc')"), nullable=True),
sa.Column('created_at3', sa.DateTime(), server_default='now()', nullable=True),
sa.PrimaryKeyConstraint('id')
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment