"""create user tables Revision ID: 335e07a98bc8 Revises: Create Date: 2023-05-12 19:59:22.188464 """ from alembic import op from sqlalchemy import Column, ForeignKey, Integer, String, DateTime, Date, Enum, CheckConstraint from sqlalchemy.sql.functions import now from backend.models.users import Gender # revision identifiers, used by Alembic. revision = '335e07a98bc8' down_revision = None branch_labels = None depends_on = None def upgrade() -> None: op.create_table( 'users', Column('id', Integer, primary_key=True, autoincrement=True, index=True), Column('email', String, unique=True, nullable=False), Column('password', String, nullable=False), Column('created', DateTime(timezone=True), nullable=False, server_default=now()), Column('updated', DateTime(timezone=True), nullable=False, server_default=now(), onupdate=now()), Column('first_name', String, nullable=False), Column('last_name', String, nullable=False), ) op.create_table( 'administrators', Column('user_id', Integer, ForeignKey('users.id', ondelete="CASCADE"), primary_key=True,) ) op.create_table( 'patients', Column('user_id', Integer, ForeignKey('users.id', ondelete="CASCADE"), primary_key=True), Column('date_of_birth', Date, nullable=False), Column('gender', Enum(Gender), nullable=False), ) def downgrade() -> None: op.drop_table('users') op.drop_table('administrators') op.drop_table('patients')