| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- """create_first_application_load
- Revision ID: 76f559337a4a
- Revises: 07c71f4389b6
- Create Date: 2023-08-05 21:23:21.563804
- """
- from alembic import op
- import sqlalchemy as sa
- # revision identifiers, used by Alembic.
- revision = "76f559337a4a"
- down_revision = "07c71f4389b6"
- branch_labels = None
- depends_on = None
- def upgrade():
- # ### commands auto generated by Alembic - please adjust! ###
- op.create_table(
- "projects",
- sa.Column("id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column(
- "created_at",
- sa.DateTime(timezone=True),
- server_default=sa.text("now()"),
- nullable=False,
- ),
- sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False),
- sa.Column("name", sa.String(length=128), nullable=False),
- sa.Column("is_public", sa.Boolean(), nullable=False),
- sa.PrimaryKeyConstraint("id"),
- )
- op.create_index(op.f("ix_projects_name"), "projects", ["name"], unique=True)
- op.create_table(
- "slots",
- sa.Column("id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column("project_id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column(
- "created_at",
- sa.DateTime(timezone=True),
- server_default=sa.text("now()"),
- nullable=False,
- ),
- sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False),
- sa.Column("title", sa.String(length=128), nullable=False),
- sa.Column("description", sa.String(), nullable=False),
- sa.Column("starting_time", sa.DateTime(timezone=True), nullable=False),
- sa.Column("ending_time", sa.DateTime(timezone=True), nullable=False),
- sa.ForeignKeyConstraint(["project_id"], ["projects.id"], ondelete="CASCADE"),
- sa.PrimaryKeyConstraint("id"),
- )
- op.create_table(
- "volunteers",
- sa.Column("id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column("project_id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column(
- "created_at",
- sa.DateTime(timezone=True),
- server_default=sa.text("now()"),
- nullable=False,
- ),
- sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False),
- sa.Column("name", sa.String(length=128), nullable=False),
- sa.Column("surname", sa.String(length=128), nullable=False),
- sa.Column("email", sa.String(length=128), nullable=False),
- sa.Column("phone_number", sa.String(length=128), nullable=False),
- sa.Column("automatic_sms", sa.Boolean(), nullable=False),
- sa.ForeignKeyConstraint(["project_id"], ["projects.id"], ondelete="CASCADE"),
- sa.PrimaryKeyConstraint("id"),
- )
- op.create_table(
- "association_volunteer_slot",
- sa.Column("volunteer_id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column("slot_id", sa.UUID(as_uuid=False), nullable=False),
- sa.ForeignKeyConstraint(["slot_id"], ["slots.id"], ondelete="CASCADE"),
- sa.ForeignKeyConstraint(
- ["volunteer_id"], ["volunteers.id"], ondelete="CASCADE"
- ),
- sa.PrimaryKeyConstraint("volunteer_id", "slot_id"),
- )
- op.create_table(
- "sms",
- sa.Column("id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column("project_id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column("volunteer_id", sa.UUID(as_uuid=False), nullable=False),
- sa.Column(
- "created_at",
- sa.DateTime(timezone=True),
- server_default=sa.text("now()"),
- nullable=False,
- ),
- sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False),
- sa.Column("content", sa.String(), nullable=False),
- sa.Column("phone_number", sa.String(length=24), nullable=False),
- sa.Column("sending_time", sa.DateTime(timezone=True), nullable=False),
- sa.Column("send_time", sa.DateTime(timezone=True), nullable=False),
- sa.ForeignKeyConstraint(["project_id"], ["projects.id"], ondelete="CASCADE"),
- sa.ForeignKeyConstraint(
- ["volunteer_id"],
- ["volunteers.id"],
- ),
- sa.PrimaryKeyConstraint("id"),
- )
- op.create_index(op.f("ix_sms_content"), "sms", ["content"], unique=True)
- # ### end Alembic commands ###
- def downgrade():
- # ### commands auto generated by Alembic - please adjust! ###
- op.drop_index(op.f("ix_sms_content"), table_name="sms")
- op.drop_table("sms")
- op.drop_table("association_volunteer_slot")
- op.drop_table("volunteers")
- op.drop_table("slots")
- op.drop_index(op.f("ix_projects_name"), table_name="projects")
- op.drop_table("projects")
- # ### end Alembic commands ###
|