Skip to content
Snippets Groups Projects
Verified Commit dd04da50 authored by Jakob Moser's avatar Jakob Moser
Browse files

Add Alembic migrations

parent a15ed101
No related branches found
No related tags found
1 merge request!5Add basic User auth endpoints (non functional)
"""Add users and keys
Revision ID: d3889051d9e7
Revises: 2a60cb3fb390
Create Date: 2024-06-04 16:07:36.652116
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = "d3889051d9e7"
down_revision: Union[str, None] = "2a60cb3fb390"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
from portal.model import Uuid, UtcDateTime
def upgrade() -> None:
op.create_table(
"user",
sa.Column("name", sa.String(), nullable=False),
sa.Column("uuid", Uuid(), nullable=False),
sa.PrimaryKeyConstraint("uuid"),
)
op.create_index(op.f("ix_user_name"), "user", ["name"], unique=True)
op.create_table(
"key",
sa.Column("secret_hash", sa.String(length=256), nullable=False),
sa.Column("created_at", UtcDateTime(), nullable=False),
sa.Column("expires_at", UtcDateTime(), nullable=False),
sa.Column("last_used_at", UtcDateTime(), nullable=True),
sa.Column("user_uuid", Uuid(), nullable=False),
sa.Column("uuid", Uuid(), nullable=False),
sa.ForeignKeyConstraint(
["user_uuid"],
["user.uuid"],
),
sa.PrimaryKeyConstraint("uuid"),
)
op.create_index(op.f("ix_key_secret_hash"), "key", ["secret_hash"], unique=True)
def downgrade() -> None:
op.drop_index(op.f("ix_key_secret_hash"), table_name="key")
op.drop_table("key")
op.drop_index(op.f("ix_user_name"), table_name="user")
op.drop_table("user")
......@@ -5,3 +5,4 @@ from .Retrievable import Retrievable
from .User import User
from .Uuid import Uuid
from .Key import Key
from .UtcDateTime import UtcDateTime
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment