From 8bf99d32d816d9ba1600d804e5fbbeeb6e28e345 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 26 Mar 2025 18:35:43 +0100 Subject: [PATCH] Add migration for Book --- .../20250326_183420_8d835afe_create_book.py | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 alembic/versions/20250326_183420_8d835afe_create_book.py diff --git a/alembic/versions/20250326_183420_8d835afe_create_book.py b/alembic/versions/20250326_183420_8d835afe_create_book.py new file mode 100644 index 0000000..26ebe40 --- /dev/null +++ b/alembic/versions/20250326_183420_8d835afe_create_book.py @@ -0,0 +1,36 @@ +"""create books table + +Revision ID: 1234567890ab +Revises: +Create Date: 2023-05-24 10:00:00.000000 + +""" +from alembic import op +import sqlalchemy as sa +import uuid +from sqlalchemy.sql import func + +# revision identifiers, used by Alembic. +revision = '1234567890ab' +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade(): + op.create_table( + 'books', + sa.Column('id', sa.String, primary_key=True, default=lambda: str(uuid.uuid4())), + sa.Column('title', sa.String, nullable=False), + sa.Column('author', sa.String, nullable=False), + sa.Column('description', sa.String), + sa.Column('page_count', sa.Integer), + sa.Column('published_date', sa.DateTime), + sa.Column('genre_id', sa.String, sa.ForeignKey('genres.id')), + sa.Column('created_at', sa.DateTime, default=func.now()), + sa.Column('updated_at', sa.DateTime, default=func.now(), onupdate=func.now()) + ) + + +def downgrade(): + op.drop_table('books') \ No newline at end of file