Closed waketzheng closed 4 weeks ago
from tortoise import BaseDBAsyncClient
async def upgrade(db: BaseDBAsyncClient) -> str:
return """
CREATE TABLE IF NOT EXISTS user
(
id
INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name
VARCHAR(10) NOT NULL UNIQUE
) CHARACTER SET utf8mb4;
CREATE TABLE IF NOT EXISTS aerich
(
id
INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
version
VARCHAR(255) NOT NULL,
app
VARCHAR(100) NOT NULL,
content
JSON NOT NULL
) CHARACTER SET utf8mb4;"""
async def downgrade(db: BaseDBAsyncClient) -> str: return """ """
- cat migrations/models/1_20240529115720_update.py
```py
from tortoise import BaseDBAsyncClient
async def upgrade(db: BaseDBAsyncClient) -> str:
return """
ALTER TABLE `user` DROP INDEX `idx_user_name_76f409`;"""
async def downgrade(db: BaseDBAsyncClient) -> str:
return """
ALTER TABLE `user` ADD UNIQUE INDEX `uid_user_name_76f409` (`name`);"""
ERRORs: pymysql.err.OperationalError: (1091, "Can't DROP INDEX
idx_user_name_76f409
; check that it exists") tortoise.exceptions.OperationalError: (1091, "Can't DROP INDEXidx_user_name_76f409
; check that it exists")How to reproduce:
app = FastAPI()
fastapi_cdn_host.patch_docs(app)
TORTOISE_ORM = {
"connections": {"default": "sqlite://db.sqlite3"},
}
register_tortoise( app, config=TORTOISE_ORM, generate_schemas=True, add_exception_handlers=True, )
@app.get("/") async def users(): objs = await User.all() return [dict(i) for i in objs]
@app.post("/") async def create_user(name: str): obj = await User.create(name=name) return dict(obj)
shell commands: