Besteht diese Behauptung immer oder nicht? Mit anderen Worten, speichert SQLAlchemy die Reihenfolge (beim Generieren von INSERT-Abfragen) beim Hinzufügen neuer Objekte zur Sitzung?Speichert SQLAlchemy die Reihenfolge beim Hinzufügen von Objekten zur Sitzung?
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.session import sessionmaker
from sqlalchemy.engine import create_engine
from sqlalchemy.types import Integer
from sqlalchemy.schema import Column
engine = create_engine('sqlite://')
Base = declarative_base(engine)
Session = sessionmaker(bind=engine)
session = Session()
class Entity(Base):
__tablename__ = 'entity'
id = Column(Integer(), primary_key=True)
Entity.__table__.create(checkfirst=True)
first = Entity()
session.add(first)
second = Entity()
session.add(second)
session.commit()
assert second.id > first.id
print(first.id, second.id)
Keine, in der Produktion verwende ich postgresql, sqlite ist zum Testen.
Ich kann weder den Code in sqlalchemy finden, der dies verursacht (seine 'dict's und' set's an vielen Stellen), noch kann ich ein zwingendes Gegenbeispiel erzeugen (kurz der Nicht-Monotonie in der Sequenz), und so +1 – SingleNegationElimination