add new column in end user

pull/21891/head
ytqh 1 year ago
parent 1e10517dcf
commit 206babe17f

@ -0,0 +1,35 @@
"""add_gender_and_extra_profile_to_end_user
Revision ID: c11c071cf21e
Revises: a91b476a53de
Create Date: 2025-03-02 08:45:21.731731
"""
import models as models
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = 'c11c071cf21e'
down_revision = 'a91b476a53de'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('end_users', schema=None) as batch_op:
batch_op.add_column(sa.Column('gender', sa.Integer(), server_default=sa.text('0'), nullable=False))
batch_op.add_column(sa.Column('extra_profile', sa.JSON(), nullable=True))
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('end_users', schema=None) as batch_op:
batch_op.drop_column('extra_profile')
batch_op.drop_column('gender')
# ### end Alembic commands ###

@ -7,18 +7,17 @@ from enum import Enum, StrEnum
from typing import TYPE_CHECKING, Any, Literal, Optional, cast from typing import TYPE_CHECKING, Any, Literal, Optional, cast
import sqlalchemy as sa import sqlalchemy as sa
from flask import request
from flask_login import UserMixin # type: ignore
from sqlalchemy import Float, func, text
from sqlalchemy.orm import Mapped, mapped_column
from configs import dify_config from configs import dify_config
from core.file import FILE_MODEL_IDENTITY, File, FileTransferMethod, FileType from core.file import FILE_MODEL_IDENTITY, File, FileTransferMethod, FileType
from core.file import helpers as file_helpers from core.file import helpers as file_helpers
from core.file.tool_file_parser import ToolFileParser from core.file.tool_file_parser import ToolFileParser
from flask import request
from flask_login import UserMixin # type: ignore
from libs.helper import generate_string from libs.helper import generate_string
from models.enums import CreatedByRole from models.enums import CreatedByRole
from models.workflow import WorkflowRunStatus from models.workflow import WorkflowRunStatus
from sqlalchemy import Float, func, text
from sqlalchemy.orm import Mapped, mapped_column
from .account import Account, Tenant from .account import Account, Tenant
from .engine import db from .engine import db
@ -1323,6 +1322,8 @@ class EndUser(UserMixin, db.Model): # type: ignore[name-defined]
name = db.Column(db.String(255)) name = db.Column(db.String(255))
is_anonymous = db.Column(db.Boolean, nullable=False, server_default=db.text("true")) is_anonymous = db.Column(db.Boolean, nullable=False, server_default=db.text("true"))
session_id: Mapped[str] = mapped_column() session_id: Mapped[str] = mapped_column()
gender = db.Column(db.Integer, nullable=False, server_default=db.text("0")) # 0: unknown, 1: male, 2: female
extra_profile = db.Column(db.JSON, nullable=True) # JSON format, e.g. { "major":"engineer" }
created_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) created_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp())
updated_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) updated_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp())

@ -8,7 +8,10 @@ requires = ["poetry-core>=2.0.0"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"
[tool.poetry] [tool.poetry]
package-mode = false name = "jim-api"
version = "0.1.0"
description = "Jim API - LLM application development platform"
authors = ["Jim Team <support@jim.ai>"]
############################################################ ############################################################
# [ Main ] Dependency group # [ Main ] Dependency group
@ -89,7 +92,14 @@ tiktoken = "~0.8.0"
tokenizers = "~0.15.0" tokenizers = "~0.15.0"
transformers = "~4.35.0" transformers = "~4.35.0"
types-pytz = "~2024.2.0.20241003" types-pytz = "~2024.2.0.20241003"
unstructured = { version = "~0.16.1", extras = ["docx", "epub", "md", "msg", "ppt", "pptx"] } unstructured = { version = "~0.16.1", extras = [
"docx",
"epub",
"md",
"msg",
"ppt",
"pptx",
] }
validators = "0.21.0" validators = "0.21.0"
volcengine-python-sdk = { extras = ["ark"], version = "~1.0.98" } volcengine-python-sdk = { extras = ["ark"], version = "~1.0.98" }
websocket-client = "~1.7.0" websocket-client = "~1.7.0"
@ -126,7 +136,13 @@ numexpr = "~2.9.0"
pydub = "~0.25.1" pydub = "~0.25.1"
qrcode = "~7.4.2" qrcode = "~7.4.2"
twilio = "~9.0.4" twilio = "~9.0.4"
vanna = { version = "0.7.5", extras = ["postgres", "mysql", "clickhouse", "duckdb", "oracle"] } vanna = { version = "0.7.5", extras = [
"postgres",
"mysql",
"clickhouse",
"duckdb",
"oracle",
] }
wikipedia = "1.4.0" wikipedia = "1.4.0"
yfinance = "~0.2.40" yfinance = "~0.2.40"

Loading…
Cancel
Save