SQLAlchemy

SQLAlchemy
Grundläggande information

Aktuell  version 1.3.18
(25 juni 2020)
operativ system plattformsoberoende
programmeringsspråk pytonorm
kategori ORM
Licens MIT-licens
www.sqlalchemy.org

SQLAlchemy är en öppen källkod - SQL - Toolkit och ORM - Framework för programmeringsspråket Python i syfte att inte matcha objektrelationell impedans i vägen för Java's Hibernate att kringgå. SQLAlchemy släpptes i februari 2006.

SQLAlchemy erbjuder ett antal designmönster för effektiv uthållighet av data i en relationsdatabas . Motivationen bakom SQLAlchemy är baserad på det faktum att SQL-databaser liknar objektsamlingar ju mer omfattande datalagret och desto mer kraft krävs, medan objektsamlingar beter sig som relationer och tuplar, desto mer abstraheras mellan datarepresentation och mini -värld. Därför följer SQLAlchemy främst ett datakartmönster istället för det som kallas ett aktivt postmönster. Valfria plugins tillåter ytterligare mönster, t.ex. B. med Elixir en deklarativ syntax.

exempel

Skapande av ett M: N-förhållande (författarskap) mellan bok och författare (utan imports):

Base = declarative_base()

engine = sqlalchemy.create_engine('postgres://user:pwd@host/dbname', echo=True)

autorschaft = Table('buch_autor', Base.metadata,
  Column('isbn', Integer, ForeignKey('buch.isbn')),
  Column('kennung', Integer, ForeignKey('autor.kennung'))
)

class Buch(Base):
    __tablename__ = 'buch'

    isbn = Column(Integer, primary_key=True)
    titel = Column(String(255), nullable=False)
    klappentext = Column(Text)

    autoren = relationship(Autor, secondary=autorschaft, backref='buecher')

class Autor(Base):
    __tablename__ = 'autor'

    kennung = Column(String(32), primary_key=True)
    name = Column(String(50), nullable=False, unique=True)

Base.metadata.create_all(engine)

Databaser som stöds

SQLAlchemy stöder en mängd olika databashanteringssystem :

Se även

litteratur

webb-länkar