我正在尝试编写一个alembic迁移来向表中添加datetime列.我希望所有现有行的默认时间为现在,将来的行默认为创建它们的时间.我已经尝试过server_default='now()',它将所有现有的行设置为现在,但新行似乎得到同样的时间.如何设置默认值以使新行获得当前时间?
dav*_*ism 10
问题是,默认设置为结果的now(),而不是执行的,所以默认将它设置的确切时间,而不是在插入当前时间.用sa.func.current_timestamp()它设置为功能,而不是该函数的结果.
def upgrade():
op.add_column('my_table', sa.Column('my_column', sa.DateTime,
server_default=sa.func.current_timestamp()))
Run Code Online (Sandbox Code Playgroud)