diff --git a/.env b/.env deleted file mode 100644 index b8ec1b0..0000000 --- a/.env +++ /dev/null @@ -1,4 +0,0 @@ -SECRET_KEY=bN3hZ6LbHG7nH9YXWULCr-crcS3GAaRELbNBdAyHBuiHH5TRctd0Zbd6OuLRHHa4Fbs -SENDER_PASSWORD=TXVU2unpCAE2EtEX -KIMI_API_KEY=sk-WFAukbN3TVJKhkGLF55a5aF702Ec435b8c36A580E8E4D92d -FERNET_SECRET_KEY=6WssEkvinI_YqwKXdokii2yI6iBiLO_Cjoyq0bBBC5o= \ No newline at end of file diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 5fb8768..19f66aa 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -50,7 +50,18 @@ jobs: pip install -r requirements.txt - name: Check FastAPI Server + env: + ALGORITHM: ${{ secrets.ALGORITHM }} + DATABASE_URL: ${{ secrets.DATABASE_URL }} + FERNET_SECRET_KEY: ${{ secrets.FERNET_SECRET_KEY }} + KIMI_API_KEY: ${{ secrets.KIMI_API_KEY }} + REMOTE_HOST: ${{ secrets.REMOTE_HOST }} + REMOTE_PATH: ${{ secrets.REMOTE_PATH }} + REMOTE_USER: ${{ secrets.REMOTE_USER }} + SECRET_KEY: ${{ secrets.SECRET_KEY }} + SENDER_PASSWORD: ${{ secrets.SENDER_PASSWORD }} + SERVER_SSH_KEY: ${{ secrets.SERVER_SSH_KEY }} + SQLALCHEMY_DATABASE_URL: ${{ secrets.SQLALCHEMY_DATABASE_URL }} run: | uvicorn app.main:app --host 0.0.0.0 --port 8000 --log-level warning & - sleep 5 - curl -f http://localhost:8000/docs \ No newline at end of file + sleep 5 \ No newline at end of file diff --git a/.gitignore b/.gitignore index c75ecb7..2b92172 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ env __pycache__ articles -app.log \ No newline at end of file +app.log +.env \ No newline at end of file diff --git a/alembic.ini b/alembic.ini index c44a966..a26a2cc 100644 --- a/alembic.ini +++ b/alembic.ini @@ -63,7 +63,6 @@ version_path_separator = os # are written from script.py.mako # output_encoding = utf-8 -sqlalchemy.url = mysql+pymysql://root:oneapi@47.93.172.156:3306/JieNote [post_write_hooks] diff --git a/alembic/env.py b/alembic/env.py index 41ef15e..b4e8b74 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -9,12 +9,17 @@ # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config +import os +from dotenv import load_dotenv +# 加载.env文件 +load_dotenv() # Interpret the config file for Python logging. # This line sets up loggers basically. if config.config_file_name is not None: fileConfig(config.config_file_name) - +sqlalchemy_url = os.environ.get("DATABASE_URL") +config.set_main_option("sqlalchemy.url", sqlalchemy_url) # add your model's MetaData object here # for 'autogenerate' support # from myapp import mymodel diff --git a/app/core/config.py b/app/core/config.py index b80e7ba..00e5f20 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -6,10 +6,10 @@ class Settings: PROJECT_NAME: str = "JieNote Backend" # 项目名称 VERSION: str = "1.0.0" # 项目版本 - SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://root:oneapi@47.93.172.156:3306/JieNote" # 替换为实际的用户名、密码和数据库名称 + SQLALCHEMY_DATABASE_URL = os.getenv("SQLALCHEMY_DATABASE_URL", "default") # 替换为实际的用户名、密码和数据库名称 SECRET_KEY: str = os.getenv("SECRET_KEY", "default_secret_key") # JWT密钥 - ALGORITHM: str = "HS256" # JWT算法 - ACCESS_TOKEN_EXPIRE_MINUTES: int = 1440 # token过期时间 + ALGORITHM: str = os.getenv("ALGORITHM", "default") # JWT算法 + ACCESS_TOKEN_EXPIRE_MINUTES: int = 5 # token过期时间 REFRESH_TOKEN_EXPIRE_DAYS: int = 7 # 刷新token过期时间7天 SMTP_SERVER: str = "smtp.163.com" # SMTP服务器 SMTP_PORT: int = 465 # SMTP端口 diff --git a/app/main.py b/app/main.py index 6b2cf17..0077f2c 100644 --- a/app/main.py +++ b/app/main.py @@ -6,7 +6,7 @@ from fastapi.staticfiles import StaticFiles import os -app = FastAPI() +app = FastAPI(docs_url=None, redoc_url=None) @app.get("/") def read_root():