Skip to content

Commit

Permalink
Fix unique constraints for id column and update API key creation (#1764)
Browse files Browse the repository at this point in the history
* Update .gitignore to ignore additional files and directories

* Add migration to fix column types

* Bump version to 0.6.17 in pyproject.toml
  • Loading branch information
ogabrielluiz committed Jun 24, 2024
1 parent 4760f4c commit b38f433
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 4 deletions.
8 changes: 4 additions & 4 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
"""Fix types
Revision ID: bc804d8e7a18
Revises: bc2f01c40e4a
Create Date: 2024-04-22 19:33:02.242116
"""
from typing import Sequence, Union

import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import postgresql
from sqlalchemy.engine.reflection import Inspector

# revision identifiers, used by Alembic.
revision: str = 'bc804d8e7a18'
down_revision: Union[str, None] = 'bc2f01c40e4a'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
conn = op.get_bind()
inspector = Inspector.from_engine(conn) # type: ignore
# ### commands auto generated by Alembic - please adjust! ###
table_names = inspector.get_table_names()
if "apikey" in table_names:
column_names = [col["name"] for col in inspector.get_columns("apikey")]
with op.batch_alter_table('apikey', schema=None) as batch_op:
if "created_at" in column_names:
batch_op.alter_column('created_at',
existing_type=postgresql.TIMESTAMP(),
type_=sa.DateTime(timezone=True),
nullable=True)
if "last_used_at" in column_names:
batch_op.alter_column('last_used_at',
existing_type=postgresql.TIMESTAMP(),
type_=sa.DateTime(timezone=True),
existing_nullable=True)

if "credential" in table_names:
column_names = [col["name"] for col in inspector.get_columns("credential")]
with op.batch_alter_table('credential', schema=None) as batch_op:
if "created_at" in column_names:
batch_op.alter_column('created_at',
existing_type=postgresql.TIMESTAMP(),
type_=sa.DateTime(timezone=True),
nullable=True)
if "updated_at" in column_names:
batch_op.alter_column('updated_at',
existing_type=postgresql.TIMESTAMP(),
type_=sa.DateTime(timezone=True),
existing_nullable=True)

# ### end Alembic commands ###


def downgrade() -> None:
conn = op.get_bind()
inspector = Inspector.from_engine(conn) # type: ignore
# ### commands auto generated by Alembic - please adjust! ###
table_names = inspector.get_table_names()
if "credential" in table_names:
column_names = [col["name"] for col in inspector.get_columns("credential")]
with op.batch_alter_table('credential', schema=None) as batch_op:
if "updated_at" in column_names:
batch_op.alter_column('updated_at',
existing_type=sa.DateTime(timezone=True),
type_=postgresql.TIMESTAMP(),
existing_nullable=True)
if "created_at" in column_names:
batch_op.alter_column('created_at',
existing_type=sa.DateTime(timezone=True),
type_=postgresql.TIMESTAMP(),
nullable=False)

if "apikey" in table_names:
column_names = [col["name"] for col in inspector.get_columns("apikey")]
with op.batch_alter_table('apikey', schema=None) as batch_op:
if "last_used_at" in column_names:
batch_op.alter_column('last_used_at',
existing_type=sa.DateTime(timezone=True),
type_=postgresql.TIMESTAMP(),
existing_nullable=True)
if "created_at" in column_names:
batch_op.alter_column('created_at',
existing_type=sa.DateTime(timezone=True),
type_=postgresql.TIMESTAMP(),
nullable=False)

# ### end Alembic commands ###

0 comments on commit b38f433

Please sign in to comment.