diff --git a/lib/freebies.db b/lib/freebies.db index 12beb1c96..efc50262d 100644 Binary files a/lib/freebies.db and b/lib/freebies.db differ diff --git a/lib/migrations/versions/ae1b0131db75_added_freebies_relationships.py b/lib/migrations/versions/ae1b0131db75_added_freebies_relationships.py new file mode 100644 index 000000000..038592b5f --- /dev/null +++ b/lib/migrations/versions/ae1b0131db75_added_freebies_relationships.py @@ -0,0 +1,24 @@ +"""added freebies relationships + +Revision ID: ae1b0131db75 +Revises: dee2354ef6b5 +Create Date: 2023-08-10 13:57:45.304419 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'ae1b0131db75' +down_revision = 'dee2354ef6b5' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + pass + + +def downgrade() -> None: + pass diff --git a/lib/migrations/versions/dee2354ef6b5_added_freebie.py b/lib/migrations/versions/dee2354ef6b5_added_freebie.py new file mode 100644 index 000000000..2866e3cc8 --- /dev/null +++ b/lib/migrations/versions/dee2354ef6b5_added_freebie.py @@ -0,0 +1,24 @@ +"""added Freebie + +Revision ID: dee2354ef6b5 +Revises: 5f72c58bf48c +Create Date: 2023-08-10 13:43:06.397265 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'dee2354ef6b5' +down_revision = '5f72c58bf48c' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + pass + + +def downgrade() -> None: + pass diff --git a/lib/models.py b/lib/models.py index 2681bee5a..edd6e7c80 100644 --- a/lib/models.py +++ b/lib/models.py @@ -1,12 +1,13 @@ from sqlalchemy import ForeignKey, Column, Integer, String, MetaData from sqlalchemy.orm import relationship, backref from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import create_engine convention = { "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s", } metadata = MetaData(naming_convention=convention) - +engine = create_engine('sqlite:///freebies.db') Base = declarative_base(metadata=metadata) class Company(Base): @@ -15,6 +16,7 @@ class Company(Base): id = Column(Integer(), primary_key=True) name = Column(String()) founding_year = Column(Integer()) + company_freebies = relationship('Freebie', backref=backref('company')) def __repr__(self): return f'' @@ -24,6 +26,23 @@ class Dev(Base): id = Column(Integer(), primary_key=True) name= Column(String()) + dev_freebies= relationship('Freebie', backref=backref('dev')) def __repr__(self): return f'' + +class Freebie(Base): + __tablename__ = 'freebies' + + id= Column(Integer(), primary_key= True) + item_name= Column(String()) + value= Column(Integer()) + dev= relationship('Dev', ForeignKey('dev.id')) + company= relationship('Company', ForeignKey('company.id')) + + def __repr__(self): + return f'Freebie(id={self.id},' + \ + f'item_name={self.item_name},' + \ + f'value-{self.value})' + +