user994165
user994165

Reputation: 9516

SQLAlchemy / PostgreSQL not creating column with the correct timestamp format

I have the following table I'm creating. After running this in a script to populate a database, the created_at columns come back with a value of "2018-10-24 19:47:22.60331".

I'm not getting the time zone offset even though https://www.postgresql.org/docs/9.2/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT shows that function as adding the time zone offset.

def simulation_version_metadata(metadata):
    simulation_version = Table('simulation_version', metadata,
                               Column('id', Integer, primary_key=True),
                               Column('simulation_id', None,
                                      ForeignKey('simulation.id')),
                               Column('created_at', DateTime,
                                      server_default=func.current_timestamp()),
                               Column('updated_at', DateTime,
                                      server_default=func.current_timestamp()),
                               )
    return simulation_version

Upvotes: 2

Views: 518

Answers (1)

benvc
benvc

Reputation: 15130

DateTime columns in SQLAlchemy default to timezone=False. Set timezone=True like:

Column('created_at', DateTime(timezone=True), server_default=func.current_timestamp())

Upvotes: 3

Related Questions