Tortoise-orm 使用 (一) 创建表

项目基于Vue3.0, FastAPI的模板管理系统,从网上找了各种资源去实践,现在将总结发出来,分享给大家,希望帮助大家少走些弯路。

准备工作

# tortoise-orm

pip install tortoise-orm

# MySQL

pip install tortoise-orm[asyncmy]

# 迁移工具

pip install aerich

1. 项目目录

2. 准备好数据库MySQL

3. 连接参数

#settings.py

TORTOISE_ORM = {
    "connections": {"default": "mysql://root:[email protected]:3306/printer"},
    "apps": {
        "models": {
            "models": ["aerich.models", "models"],
            "default_connection": "default",
        },
    },
}


# 须添加"aerich.models" 后者"models"是上述models.py文件的路径
# "connections" 相信大家都能看得懂

4. 简单定义一下User表

#models.py

from tortoise import fields
from tortoise.models import Model


class User(Model):
    id = fields.IntField(pk=True)
    username = fields.CharField(max_length=50, unique=True)
    password = fields.CharField(max_length=50, unique=True)
    email = fields.CharField(max_length=100, unique=True)

    def __str__(self):
        return self.username

运行命令

1. 初始化

# 执行aerich初始化

aerich init -t settings.TORTOISE_ORM

# 命令行返回

Success create migrate location ./migrations
Success write config to pyproject.toml

# 数据库初始化

aerich init-db

# 命令行返回

Success create app migrate location migrationsmodels
Success generate schema for app "models"

2. 表创建成功

表跟新

在开发过程中涉及到表的修改,models.py代码修改后,执行命令

# 修改model类,重新生成迁移文件

aerich migrate

# 执行修改

aerich upgrade

Success migrate 1_20240116132755_update.py

# 回退修改

aerich downgrade