Add foreign keys to database
This commit is contained in:
parent
6c4d6919d7
commit
e2f17743b7
|
@ -140,9 +140,9 @@ class Teams(Base):
|
||||||
__tablename__ = "teams"
|
__tablename__ = "teams"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
user_id = Column(Integer, ForeignKey("users_id"))
|
user_id = Column(Integer, ForeignKey("users.id"))
|
||||||
team_id = Column(Enum("1", "2"))
|
team_id = Column(Enum("1", "2"))
|
||||||
game_id = Column(Integer, ForeignKey("games_id"))
|
game_id = Column(Integer, ForeignKey("games.id"))
|
||||||
status = Column(Integer)
|
status = Column(Integer)
|
||||||
created = Column(DateTime, nullable=False, server_default=func.now())
|
created = Column(DateTime, nullable=False, server_default=func.now())
|
||||||
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
||||||
|
@ -152,9 +152,9 @@ class UserRatings(Base):
|
||||||
__tablename__ = "user_ratings"
|
__tablename__ = "user_ratings"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
game_id = Column(Integer, ForeignKey("games_id"))
|
game_id = Column(Integer, ForeignKey("games.id"))
|
||||||
user_id = Column(Integer, ForeignKey("users_id"))
|
user_id = Column(Integer, ForeignKey("users.id"))
|
||||||
player_id = Column(Integer, ForeignKey("users_id"))
|
player_id = Column(Integer, ForeignKey("users.id"))
|
||||||
rating = Column(String(100), nullable=False)
|
rating = Column(String(100), nullable=False)
|
||||||
created = Column(DateTime, nullable=False, server_default=func.now())
|
created = Column(DateTime, nullable=False, server_default=func.now())
|
||||||
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
||||||
|
@ -165,8 +165,8 @@ class VenueImages(Base):
|
||||||
__tablename__ = "venue_images"
|
__tablename__ = "venue_images"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
venue_id = Column(Integer, ForeignKey("venues_id"))
|
venue_id = Column(Integer, ForeignKey("venues.id"))
|
||||||
user_id = Column(Integer, ForeignKey("users_id"))
|
user_id = Column(Integer, ForeignKey("users.id"))
|
||||||
image = Column(String(255))
|
image = Column(String(255))
|
||||||
created = Column(DateTime, nullable=False, server_default=func.now())
|
created = Column(DateTime, nullable=False, server_default=func.now())
|
||||||
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
||||||
|
@ -176,22 +176,12 @@ class Venues(Base):
|
||||||
__tablename__ = "venues"
|
__tablename__ = "venues"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
user_id = Column(Integer, ForeignKey("users_id"))
|
user_id = Column(Integer, ForeignKey("users.id"))
|
||||||
address = Column(Text, nullable=False)
|
address = Column(Text, nullable=False)
|
||||||
latitude = Column(String(100))
|
latitude = Column(String(100))
|
||||||
longitude = Column(String(100))
|
longitude = Column(String(100))
|
||||||
name = Column(String(100), nullable=False)
|
name = Column(String(100), nullable=False)
|
||||||
sports_id = Column(Integer, ForeignKey("sports_id"))
|
sports_id = Column(Integer, ForeignKey("sports.id"))
|
||||||
created = Column(DateTime, nullable=False, server_default=func.now())
|
|
||||||
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
|
||||||
|
|
||||||
|
|
||||||
class ViewNews(Base):
|
|
||||||
__tablename__ = "view_news"
|
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
||||||
news_id = Column(Integer)
|
|
||||||
user_id = Column(Integer, ForeignKey("users_id"))
|
|
||||||
created = Column(DateTime, nullable=False, server_default=func.now())
|
created = Column(DateTime, nullable=False, server_default=func.now())
|
||||||
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
updated = Column(DateTime, nullable=True, onupdate=func.now())
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
"""add foreign keys
|
||||||
|
|
||||||
|
Revision ID: e443e876bf33
|
||||||
|
Revises: f8ef6bad794a
|
||||||
|
Create Date: 2020-10-26 14:37:21.156557
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = "e443e876bf33"
|
||||||
|
down_revision = "f8ef6bad794a"
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
tables = {
|
||||||
|
"games": ["user_id", "city_id", "venue_id", "sports_id"],
|
||||||
|
"payments": ["user_id", "game_id"],
|
||||||
|
"player_availabilities": ["game_id", "player_id"],
|
||||||
|
"player_cancel_games": ["game_id", "player_id"],
|
||||||
|
"purchase_games": ["game_id", "user_id"],
|
||||||
|
"teams": ["game_id", "user_id"],
|
||||||
|
"users": ["city_id"],
|
||||||
|
"user_ratings": ["game_id", "user_id", "player_id"],
|
||||||
|
"venues": ["user_id", "sports_id"],
|
||||||
|
"venue_images": ["venue_id", "user_id"],
|
||||||
|
}
|
||||||
|
referent_tables = {
|
||||||
|
"user_id": "users",
|
||||||
|
"city_id": "cities",
|
||||||
|
"venue_id": "venues",
|
||||||
|
"sports_id": "sports",
|
||||||
|
"game_id": "games",
|
||||||
|
"player_id": "users",
|
||||||
|
}
|
||||||
|
for table, field in tables.items():
|
||||||
|
for item in field:
|
||||||
|
with op.batch_alter_table(table) as batch_op:
|
||||||
|
batch_op.create_foreign_key(
|
||||||
|
constraint_name="fk_{}".format(item),
|
||||||
|
referent_table=referent_tables[item],
|
||||||
|
local_cols=[item],
|
||||||
|
remote_cols=["id"],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
pass
|
Loading…
Reference in New Issue