"""ReleaseCountryDates Model.""" from sqlalchemy import BigInteger from sqlalchemy import Column from sqlalchemy import Date from sqlalchemy import Integer from product.connectors import mysql class ReleaseCountryDates(mysql.BaseModel): """ReleaseCountryDates Model class.""" __tablename__ = 'release_country_dates' release_country_date_id = Column( Integer, primary_key=True, autoincrement=True, nullable=False) upc = Column(BigInteger, nullable=False) release_id = Column(Integer, default=0) country_id = Column(Integer) release_date = Column(Date) sale_start_date = Column(Date) vod_start_date = Column(Date) preorder_date = Column(Date) def delete_all_by_product_id(product_id): """Delete all records for given product ID. Args: product_id (int): Product ID Returns: bool """ with mysql.db_session() as session: session.query( ReleaseCountryDates ).filter( ReleaseCountryDates.release_id == product_id ).delete() return True def insert_dates(data): """Insert territory release dates. Args: data (list): Territory release dates. Returns: bool """ records = [ReleaseCountryDates(**row) for row in data] with mysql.db_session() as session: session.bulk_save_objects(records) return True