Merge branch 'dev' into dependabot/pip/backend/dev/peewee-3.17.6

This commit is contained in:
Timothy Jaeryang Baek 2024-07-08 11:35:48 -07:00 committed by GitHub
commit 642c5e035d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 36 additions and 24 deletions

View File

@ -35,6 +35,10 @@ jobs:
done
echo "Service is up!"
- name: Delete Docker build cache
run: |
docker builder prune --all --force
- name: Preload Ollama model
run: |
docker exec ollama ollama pull qwen:0.5b-chat-v1.5-q2_K

View File

@ -81,12 +81,6 @@ handle_peewee_migration()
SQLALCHEMY_DATABASE_URL = DATABASE_URL
# Replace the postgres:// with postgresql://
if "postgres://" in SQLALCHEMY_DATABASE_URL:
SQLALCHEMY_DATABASE_URL = SQLALCHEMY_DATABASE_URL.replace(
"postgres://", "postgresql://"
)
if "sqlite" in SQLALCHEMY_DATABASE_URL:
engine = create_engine(
SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}

View File

@ -169,10 +169,10 @@ class AuthsTable:
def update_user_password_by_id(self, id: str, new_password: str) -> bool:
try:
with get_db() as db:
result = (
db.query(Auth).filter_by(id=id).update({"password": new_password})
)
db.commit()
return True if result == 1 else False
except:
return False
@ -180,8 +180,8 @@ class AuthsTable:
def update_email_by_id(self, id: str, email: str) -> bool:
try:
with get_db() as db:
result = db.query(Auth).filter_by(id=id).update({"email": email})
db.commit()
return True if result == 1 else False
except:
return False

View File

@ -141,13 +141,14 @@ class ChatTable:
db.add(shared_result)
db.commit()
db.refresh(shared_result)
# Update the original chat with the share_id
result = (
db.query(Chat)
.filter_by(id=chat_id)
.update({"share_id": shared_chat.id})
)
db.commit()
return shared_chat if (shared_result and result) else None
def update_shared_chat_by_chat_id(self, chat_id: str) -> Optional[ChatModel]:
@ -206,8 +207,8 @@ class ChatTable:
def archive_all_chats_by_user_id(self, user_id: str) -> bool:
try:
with get_db() as db:
db.query(Chat).filter_by(user_id=user_id).update({"archived": True})
db.commit()
return True
except:
return False

View File

@ -158,6 +158,7 @@ class DocumentsTable:
with get_db() as db:
db.query(Document).filter_by(name=name).delete()
db.commit()
return True
except:
return False

View File

@ -212,6 +212,7 @@ class UsersTable:
try:
with get_db() as db:
db.query(User).filter_by(id=id).update({"oauth_sub": oauth_sub})
db.commit()
user = db.query(User).filter_by(id=id).first()
return UserModel.model_validate(user)

View File

@ -1331,3 +1331,7 @@ AUDIO_TTS_VOICE = PersistentConfig(
####################################
DATABASE_URL = os.environ.get("DATABASE_URL", f"sqlite:///{DATA_DIR}/webui.db")
# Replace the postgres:// with postgresql://
if "postgres://" in DATABASE_URL:
DATABASE_URL = DATABASE_URL.replace("postgres://", "postgresql://")

View File

@ -173,13 +173,11 @@ https://github.com/open-webui/open-webui
def run_migrations():
env = os.environ.copy()
env["DATABASE_URL"] = DATABASE_URL
migration_task = subprocess.run(
["alembic", f"-c{BACKEND_DIR}/alembic.ini", "upgrade", "head"], env=env
)
if migration_task.returncode > 0:
raise ValueError("Error running migrations")
from alembic.config import Config
from alembic import command
alembic_cfg = Config("alembic.ini")
command.upgrade(alembic_cfg, "head")
@asynccontextmanager

View File

@ -18,6 +18,8 @@ from apps.webui.models.users import User
from apps.webui.models.files import File
from apps.webui.models.functions import Function
from config import DATABASE_URL
# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config
@ -38,9 +40,16 @@ target_metadata = Auth.metadata
# my_important_option = config.get_main_option("my_important_option")
# ... etc.
database_url = os.getenv("DATABASE_URL", None)
if database_url:
config.set_main_option("sqlalchemy.url", database_url)
DB_URL = DATABASE_URL
# Replace the postgres:// with postgresql://
if "postgres://" in DB_URL:
DB_URL = DB_URL.replace("postgres://", "postgresql://")
if DB_URL:
config.set_main_option("sqlalchemy.url", DB_URL)
print("DB_URL", DB_URL)
def run_migrations_offline() -> None:

View File

@ -13,7 +13,7 @@ passlib[bcrypt]==1.7.4
requests==2.32.3
aiohttp==3.9.5
sqlalchemy==2.0.30
alembic==1.13.1
alembic==1.13.2
peewee==3.17.6
peewee-migrate==1.12.2
psycopg2-binary==2.9.9
@ -51,7 +51,7 @@ pyxlsb==1.0.10
xlrd==2.0.1
validators==0.28.1
opencv-python-headless==4.9.0.80
opencv-python-headless==4.10.0.84
rapidocr-onnxruntime==1.3.22
fpdf2==2.7.9
@ -73,5 +73,5 @@ duckduckgo-search~=6.1.7
## Tests
docker~=7.1.0
pytest~=8.2.1
pytest~=8.2.2
pytest-docker~=3.1.1

View File

@ -182,7 +182,7 @@
"Discover, download, and explore custom functions": "Tìm kiếm, tải về và khám phá thêm các function tùy chỉnh",
"Discover, download, and explore custom prompts": "Tìm kiếm, tải về và khám phá thêm các prompt tùy chỉnh",
"Discover, download, and explore custom tools": "Tìm kiếm, tải về và khám phá thêm các tool tùy chỉnh",
"Discover, download, and explore model preseKhts": "Tìm kiếm, tải về và khám phá thêm các thiết lập mô hình sẵn",
"Discover, download, and explore model presets": "",
"Dismissible": "Có thể loại bỏ",
"Display Emoji in Call": "Hiển thị Emoji trong cuộc gọi",
"Display the username instead of You in the Chat": "Hiển thị tên người sử dụng thay vì 'Bạn' trong nội dung chat",