mirror of
https://github.com/open-webui/open-webui
synced 2025-02-07 05:27:55 +00:00
189 lines
7.7 KiB
Python
189 lines
7.7 KiB
Python
"""init
|
|
|
|
Revision ID: 22b5ab2667b8
|
|
Revises:
|
|
Create Date: 2024-06-20 13:22:40.397002
|
|
|
|
"""
|
|
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.engine.reflection import Inspector
|
|
|
|
import apps.webui.internal.db
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = "22b5ab2667b8"
|
|
down_revision: Union[str, None] = None
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
con = op.get_bind()
|
|
inspector = Inspector.from_engine(con)
|
|
tables = set(inspector.get_table_names())
|
|
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
if not "auth" in tables:
|
|
op.create_table(
|
|
"auth",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("email", sa.String(), nullable=True),
|
|
sa.Column("password", sa.String(), nullable=True),
|
|
sa.Column("active", sa.Boolean(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
|
|
if not "chat" in tables:
|
|
op.create_table(
|
|
"chat",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("title", sa.String(), nullable=True),
|
|
sa.Column("chat", sa.String(), nullable=True),
|
|
sa.Column("created_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("updated_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("share_id", sa.String(), nullable=True),
|
|
sa.Column("archived", sa.Boolean(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
sa.UniqueConstraint("share_id"),
|
|
)
|
|
|
|
if not "chatidtag" in tables:
|
|
op.create_table(
|
|
"chatidtag",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("tag_name", sa.String(), nullable=True),
|
|
sa.Column("chat_id", sa.String(), nullable=True),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("timestamp", sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
|
|
if not "document" in tables:
|
|
op.create_table(
|
|
"document",
|
|
sa.Column("collection_name", sa.String(), nullable=False),
|
|
sa.Column("name", sa.String(), nullable=True),
|
|
sa.Column("title", sa.String(), nullable=True),
|
|
sa.Column("filename", sa.String(), nullable=True),
|
|
sa.Column("content", sa.String(), nullable=True),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("timestamp", sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint("collection_name"),
|
|
sa.UniqueConstraint("name"),
|
|
)
|
|
|
|
if not "memory" in tables:
|
|
op.create_table(
|
|
"memory",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("content", sa.String(), nullable=True),
|
|
sa.Column("updated_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("created_at", sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
|
|
if not "model" in tables:
|
|
op.create_table(
|
|
"model",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("base_model_id", sa.String(), nullable=True),
|
|
sa.Column("name", sa.String(), nullable=True),
|
|
sa.Column("params", apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.Column("meta", apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.Column("updated_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("created_at", sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
|
|
if not "prompt" in tables:
|
|
op.create_table(
|
|
"prompt",
|
|
sa.Column("command", sa.String(), nullable=False),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("title", sa.String(), nullable=True),
|
|
sa.Column("content", sa.String(), nullable=True),
|
|
sa.Column("timestamp", sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint("command"),
|
|
)
|
|
|
|
if not "tag" in tables:
|
|
op.create_table(
|
|
"tag",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("name", sa.String(), nullable=True),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("data", sa.String(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
|
|
if not "tool" in tables:
|
|
op.create_table(
|
|
"tool",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("user_id", sa.String(), nullable=True),
|
|
sa.Column("name", sa.String(), nullable=True),
|
|
sa.Column("content", sa.String(), nullable=True),
|
|
sa.Column("specs", apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.Column("meta", apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.Column("updated_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("created_at", sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
)
|
|
|
|
if not "user" in tables:
|
|
op.create_table(
|
|
"user",
|
|
sa.Column("id", sa.String(), nullable=False),
|
|
sa.Column("name", sa.String(), nullable=True),
|
|
sa.Column("email", sa.String(), nullable=True),
|
|
sa.Column("role", sa.String(), nullable=True),
|
|
sa.Column("profile_image_url", sa.String(), nullable=True),
|
|
sa.Column("last_active_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("updated_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("created_at", sa.BigInteger(), nullable=True),
|
|
sa.Column("api_key", sa.String(), nullable=True),
|
|
sa.Column("settings", apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.Column("info", apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.PrimaryKeyConstraint("id"),
|
|
sa.UniqueConstraint("api_key"),
|
|
)
|
|
|
|
if not "file" in tables:
|
|
op.create_table('file',
|
|
sa.Column('id', sa.String(), nullable=False),
|
|
sa.Column('user_id', sa.String(), nullable=True),
|
|
sa.Column('filename', sa.String(), nullable=True),
|
|
sa.Column('meta', apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.Column('created_at', sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
|
|
if not "function" in tables:
|
|
op.create_table('function',
|
|
sa.Column('id', sa.String(), nullable=False),
|
|
sa.Column('user_id', sa.String(), nullable=True),
|
|
sa.Column('name', sa.Text(), nullable=True),
|
|
sa.Column('type', sa.Text(), nullable=True),
|
|
sa.Column('content', sa.Text(), nullable=True),
|
|
sa.Column('meta', apps.webui.internal.db.JSONField(), nullable=True),
|
|
sa.Column('updated_at', sa.BigInteger(), nullable=True),
|
|
sa.Column('created_at', sa.BigInteger(), nullable=True),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade() -> None:
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
# do nothing as we assume we had previous migrations from peewee-migrate
|
|
pass
|
|
# ### end Alembic commands ###
|