feat: 切换数据库至 PostgreSQL、支持环境变量
未来计划支持多种数据库,从 PostgreSQL 开始! 支持从环境变量读取启动设置,添加 nyahome env 命令用来持久化环境变量。 BREAKING CHANGE: 切换开发阶段的数据库,从 SQLite 到 PostgreSQL。
This commit is contained in:
+17
-9
@@ -6,13 +6,13 @@
|
||||
from typing import Annotated
|
||||
|
||||
import typer
|
||||
from rich.console import Console
|
||||
|
||||
from nyahome import __version__
|
||||
from nyahome.cli.cli import console
|
||||
from nyahome.cli.cli_env import ENV_PATH, env_app
|
||||
|
||||
console = Console()
|
||||
app = typer.Typer(
|
||||
name="Nya Home",
|
||||
name="NyaHome",
|
||||
help="🌸 为你而存在的故事之家 ~",
|
||||
rich_markup_mode="rich",
|
||||
no_args_is_help=True,
|
||||
@@ -21,7 +21,7 @@ app = typer.Typer(
|
||||
|
||||
def version_callback(value: bool = False) -> None:
|
||||
if value:
|
||||
console.print(f"[green]Nya Home[/green] version {__version__}")
|
||||
console.print(f"[green]NyaHome[/green] version {__version__}")
|
||||
|
||||
|
||||
@app.callback(invoke_without_command=True)
|
||||
@@ -35,21 +35,26 @@ def main(
|
||||
is_eager=True,
|
||||
),
|
||||
) -> None:
|
||||
console.print("[bright_black]Nya Home 仍然处于极早期的阶段。如果遇到任何问题,请告诉芒果帆帆喵![/bright_black]")
|
||||
console.print("[bright_black]NyaHome 仍然处于极早期的阶段。如果遇到任何问题,请告诉芒果帆帆喵![/bright_black]")
|
||||
|
||||
|
||||
@app.command()
|
||||
def run() -> None:
|
||||
"""
|
||||
运行 Nya Home。
|
||||
运行 NyaHome。
|
||||
"""
|
||||
import os
|
||||
|
||||
import uvicorn
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv(ENV_PATH)
|
||||
|
||||
uvicorn.run(
|
||||
"nyahome.server:app",
|
||||
reload=False,
|
||||
host="0.0.0.0",
|
||||
port=9000,
|
||||
reload=os.getenv("NYAHOME_UVICORN_RELOAD", "false") in ["True", "true", "1"],
|
||||
host=os.getenv("NYAHOME_UVICORN_HOST", "0.0.0.0"),
|
||||
port=int(os.getenv("NYAHOME_UVICORN_PORT", "9000")),
|
||||
timeout_graceful_shutdown=2,
|
||||
log_config="logging.yaml",
|
||||
log_level="debug",
|
||||
@@ -69,5 +74,8 @@ def openapi(
|
||||
console.print(f"[cyan]已经保存 openapi.json 到 {path} 。[/cyan]")
|
||||
|
||||
|
||||
app.add_typer(env_app, name="env", no_args_is_help=True, help="设置 NyaHome 应用的环境变量。")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app()
|
||||
|
||||
Reference in New Issue
Block a user