Go to file
呱呱呱 82fa7d0871 update readme 2024-08-31 12:08:27 +08:00
app 修复代码格式错误信息 2024-08-30 10:57:22 +08:00
logs update 2024-08-22 14:47:45 +08:00
migrations 车次查询接口 2024-08-15 16:41:25 +08:00
presenter 修复代码格式错误信息 2024-08-30 10:57:22 +08:00
utils 修复代码格式错误信息 2024-08-30 10:57:22 +08:00
.gitignore log not upload 2024-08-29 18:08:17 +08:00
Dockerfile 更新dockerfile 2024-08-20 16:58:05 +08:00
config.py readme 2024-08-20 15:40:31 +08:00
docker-compose.yml redis depends 2024-08-27 09:11:26 +08:00
myapp.py logService update 2024-08-29 18:07:31 +08:00
readme.md update readme 2024-08-31 12:08:27 +08:00
requirements.txt 尝试 2024-08-22 17:22:07 +08:00

readme.md

目录结构说明

Mini-12306
-- app          //主要接口业务代码
---- models     //定义了数据库表结构与抽象类方法
-- logs         //日志存储
-- migrations  //执行迁移后的数据库版本文件
-- presenter   //渲染文件,用于数据序列化
-- utils       //工具包
---- response.py  //定义返回数据结构及定义状态码
-- Dockerfile  docker容器化文件
-- docker-compose.yml  容器编排文件

开发环境安装

  1. 安装python 3.12.x以上版本
  2. 使用 pip 安装项目所需要的包:
cd 12306mini_python
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple 
pip config set install.trusted-host mirrors.aliyun.com
pip install -r requirements.txt
  1. 安装 postgresql, 并创建数据库

根目录下的config.py文件中 SQLALCHEMY_DATABASE_URI 是定义项目连接数据库的地址(包括数据库账号、密码、名称)。 连接数据库的密码及数据库均可以自行设定。

  1. 执行迁移

在项目的根目录下执行下列命令,此命令会将数据表生成。

flask db upgrade
  1. 运行项目
flask run myapp.py

docker部署

  1. 找一台Ubuntu服务器安装docker及docker-compose

  2. 在服务器上创建日志文件存储位置(该文件用于 docker-compose 中 volumes 关联)

     mkdir /var/log/mini12306_python
    
  3. 构建容器

    docker-compose build
    

    你可能会遇到build失败的问题。

    因为国内的原因无法正常自动下载 postgres 和 redis_alpine 这两个软件。

    解决方案如下: 下载此链接中两个docker软件包至服务器: postgres_15.tar redis_alpine.tar

    https://pan.baidu.com/s/1qMRtQ0Fhy7r5L_58RHe5Fw?pwd=vu3c 提取码: vu3c

    可以将文件先下载到本机然后使用scp命令将文件上传至服务器。

    文件上传至服务后cd至文件所在的目录然后运行下列指令

    docker load < postgres_15.tar
    docker load < postgres_15.tar
    
    然后再执行 docker-compose build
    
    
  4. 运行容器

docker-compose run --rm python flask db upgrade
docker-compose up -d

扩展使用: Flask-Migrate 使用方法

首先,初始化 Alembic 目录migrations/ 文件夹):

flask db init

当你对模型进行了更改(如添加新表或修改现有表的结构),你可以生成迁移脚本:

flask db migrate -m "Initial migration"

这将根据你定义的模型生成迁移脚本。

执行迁移

 flask db upgrade

扩展使用:使用 pdb 工具断点调试

pdb.set_trace()