笔记

分类: 笔记 | 作者: 超文本 | 创建时间: 2024年12月22日 21:57

命令:

进入mysql:mysql -u mysql -p

模型变更命令:

python manage.py makemigrations
python manage.py migrate
 

虚拟环境:source venv/bin/activate
 

 

1.fastapi简易结构:

2.先进入文件夹:cd /Users/chenwenbin/PycharmProjects/djangoProject/myproject

启动命令:uvicorn fastapi_app.main:app --reload --host 0.0.0.0 --port 8001  (项目文件夹外面一层执行)

访问是http://127.0.0.1:8001/get_item_data/  (端口根据自己设置)

 

3.vue结构

my-vue-app/
├── node_modules/
├── public/
│   ├── index.html
│   └── favicon.ico
├── src/
│   ├── assets/
│   ├── components/
│   │   └── HelloWorld.vue
│   ├── App.vue
│   ├── main.js
│   └── router/
│       └── index.js
├── package.json
└── vue.config.js

2.先进入文件夹:cd /Users/chenwenbin/PycharmProjects/djangoProject/myproject/my-vue-app

启动命令:npm run serve  (项目文件夹里面一层执行)

访问是http://localhost:3000/  (端口根据自己设置) 

 

4.前后端两个永久挂起方法:

 fastapi命令  cd /path/to/target_directory# uvicorn fastapi_app.main:app --reload --host 0.0.0.0 --port 8001 

 vue命令 cd /path/to/target_directory/my-vue-app# npm run serve 

退出tmux 按下 Ctrl + b,然后按 d 键。

强制终止所有会话:如果您想强制终止所有 tmux 会话,可以在终端中运行以下命令:  
tmux kill-server

5.nginx设置问题

进入编辑命令 sudo nano /etc/nginx/conf.d/tiaowola.com.conf

重启命令 sudo systemctl restart nginx

 

6 管理启动和终止程序命令:

(1)使用 concurrently 包来同时启动 Vue 和 FastAPI 应用

安装 concurrently 包:  
npm install concurrently --save-dev

(2)在 package.json 文件的 scripts 部分添加一个新的脚本
"scripts": {
  "serve": "cd /path/to/target_directory/my-vue-app && PORT=3000 vue-cli-service serve",
  "build": "cd /path/to/target_directory/my-vue-app && vue-cli-service build",
  "lint": "cd /path/to/target_directory/my-vue-app && vue-cli-service lint",
  "start:fastapi": "cd /path/to/target_directory && nohup uvicorn fastapi_app.main:app --reload --host 0.0.0.0 --port 8001 &",
  "start:django": "cd /path/to/target_directory/myproject/ && . venv/bin/activate && nohup python manage.py runserver 0.0.0.0:9000 &",
  "start:all": "concurrently \"npm run serve\" \"npm run start:fastapi\" \"npm run start:django\""
}

(3)使用以下命令来同时启动 Vue 和 FastAPI 应用:  
npm run start:all

 

(4)永久启动命令汇集:

fastapi:cd /path/to/target_directory && nohup uvicorn fastapi_app.main:app --reload --host 0.0.0.0 --port 8001 &

django:cd /path/to/target_directory/myproject/ && . venv/bin/activate && nohup python manage.py runserver 0.0.0.0:9000 &

 

(5)终止命令:

lsof -i :9000 和 8001

kill -9 pid  (查询的pid)

 

 

删除迁移文件对数据库数据的影响取决于具体操作方式。以下是详细说明:

1. 开发环境

在开发环境中,删除迁移文件后可以通过以下步骤重新生成和应用迁移:

  1. 删除旧的迁移文件: 删除 myapp/migrations 目录中的所有迁移文件,但保留 __init__.py 文件。
  2. 重新生成迁移文件: 使用如下命令重新生成迁移文件:

    python manage.py makemigrations myapp

  3. 重新应用迁移: 使用如下命令重新应用迁移:

    python manage.py migrate

2. 生产环境

在生产环境中,删除迁移文件是非常危险的操作,因为这会导致数据库与代码不同步。建议采用以下方式进行迁移文件的管理:

  1. 合并迁移文件: 使用 Django 提供的 squashmigrations 命令合并迁移文件。例如:

    python manage.py squashmigrations myapp 0001 0050

    这将合并 0001 到 0050 之间的所有迁移文件,生成一个新的迁移文件。

  2. 备份数据库: 在进行任何迁移操作之前,务必备份数据库以防数据丢失或损坏。

  3. 测试迁移: 在测试环境中验证合并后的迁移文件,确保其可以正确应用并且不会对现有数据造成影响。

总结

  • 开发环境:可以删除迁移文件并重新生成和应用。
  • 生产环境:建议使用 squashmigrations 合并迁移文件,并确保在操作前备份数据库。

来源: https://alidocs.dingtalk.com/i/nodes/9bN7RYPWdEv7BPD0tZRXYABvVZd1wyK0?utm_scene=person_space