diff --git a/models.py b/models.py new file mode 100644 index 0000000..622d4d9 --- /dev/null +++ b/models.py @@ -0,0 +1,26 @@ +from sqlalchemy import create_engine, Column, Integer, String, Float, DateTime, ForeignKey, Text +from sqlalchemy.orm import declarative_base, relationship + +Base = declarative_base() + +class Bundle(Base): + __tablename__ = 'bundles' + id = Column(Integer, primary_key=True) + machine_name = Column(String, unique=True) + human_name = Column(String) + current_version_id = Column(Integer, ForeignKey('bundle_versions.id')) + current_version = relationship("BundleVersion", uselist=False, foreign_keys=[current_version_id], post_update=True) + versions = relationship("BundleVersion", back_populates="bundle", foreign_keys=lambda: [BundleVersion.bundle_id]) + sales_history = relationship("BundleSalesHistory", back_populates="bundle") + items = relationship("BundleItem", back_populates="bundle") + +class BundleVersion(Base): + __tablename__ = 'bundle_versions' + id = Column(Integer, primary_key=True) + bundle_id = Column(Integer, ForeignKey('bundles.id')) + version_hash = Column(String) + version_data = Column(Text) + timestamp = Column(DateTime) + bundle = relationship("Bundle", back_populates="versions", foreign_keys=[bundle_id]) + +# ... weitere Modelle (BundleSalesHistory, BundleItem, ...) diff --git a/reset_db.py b/reset_db.py index 52b398a..da5c340 100644 --- a/reset_db.py +++ b/reset_db.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 from sqlalchemy import create_engine -from bundle_checker import Base # Importiere die Base-Klasse aus deinem Hauptskript +from models import Base # Jetzt importierst du Base aus dem separaten Modul def reset_database(): engine = create_engine('sqlite:///bundles.db')