support server default for version_id_col
Issue #2793
resolved
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class A(Base):
__tablename__ = 'a'
id = Column(Integer, primary_key=True)
data = Column(String)
version_id = Column('xmin', Integer,
server_default=FetchedValue(),
server_onupdate=FetchedValue())
__mapper_args__ = {
"version_id_col": version_id,
"version_id_generator": lambda val: None,
# "eager_defaults": True # should not be needed
}
# should work whether or not this is set
# __table_args__ = {"implicit_returning": False}
engine = create_engine("postgresql://scott:tiger@localhost/test", echo=True)
Base.metadata.drop_all(engine)
engine.execute("create table a (id serial primary key, data varchar)")
s = Session(engine)
a1 = A(data='a1')
s.add(a1)
s.flush()
a1.data = 'a2'
s.flush()
Comments (4)
-
reporter -
reporter diff:@master:ticket_2793
-
reporter - changed status to resolved
-
reporter - removed milestone
Removing milestone: 0.9.0 (automated comment)
- Log in to comment
a lot more going on in the ticket_2793 branch on this.