From be64e5bf8825d9df18f51b932832a7529ae671b6 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 9 Apr 2025 13:24:35 +0000 Subject: [PATCH] feat: Add migration for Route model changes --- .../20250409_132434_8549eab2_create_route.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 alembic/versions/20250409_132434_8549eab2_create_route.py diff --git a/alembic/versions/20250409_132434_8549eab2_create_route.py b/alembic/versions/20250409_132434_8549eab2_create_route.py new file mode 100644 index 0000000..2c1d176 --- /dev/null +++ b/alembic/versions/20250409_132434_8549eab2_create_route.py @@ -0,0 +1,39 @@ +"""create table for routes + +Revision ID: 2f17a8d9a9c4 +Revises: 0a3e8a0d4cc8 +Create Date: 2023-05-29 11:26:31.625404 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects.postgresql import UUID +import uuid + +# revision identifiers, used by Alembic. +revision = '2f17a8d9a9c4' +down_revision = '0a3e8a0d4cc8' +branch_labels = None +depends_on = None + + +def upgrade(): + op.create_table( + 'routes', + sa.Column('id', UUID(as_uuid=True), primary_key=True, default=uuid.uuid4), + sa.Column('name', sa.String(), nullable=False, unique=True), + sa.Column('description', sa.String(), nullable=True), + sa.Column('origin', sa.String(), nullable=False), + sa.Column('destination', sa.String(), nullable=False), + sa.Column('distance', sa.Integer(), nullable=False), + sa.Column('duration', sa.Integer(), nullable=False), + sa.Column('created_at', sa.DateTime(), server_default=sa.func.now()), + sa.Column('updated_at', sa.DateTime(), server_default=sa.func.now(), onupdate=sa.func.now()), + sa.Column('waypoints', sa.ARRAY(sa.String()), nullable=True), + sa.Column('optimized_distance', sa.Integer(), nullable=True), + sa.Column('optimized_duration', sa.Integer(), nullable=True) + ) + + +def downgrade(): + op.drop_table('routes') \ No newline at end of file