gpt4 book ai didi

sqlalchemy - 如何在 SQLAlchemy 模型中使用 SQLAlchemy Utils

转载 作者:行者123 更新时间:2023-12-03 20:29:08 29 4
gpt4 key购买 nike

我正在尝试创建一个使用 UUID 作为主键的用户模型:

from src.db import db # SQLAlchemy instance

import sqlalchemy_utils

import uuid


class User(db.Model):
__tablename__ = 'user'

id = db.Column(sqlalchemy_utils.UUIDType(binary=True), primary_key=True, nullable=False)

但是当我生成我收到的迁移时:
File "/home/pc/Downloads/project/auth/venv/lib/python3.6/site-packages/alembic/runtime/environment.py", line 836, in run_migrations
self.get_context().run_migrations(**kw)
File "/home/pc/Downloads/project/auth/venv/lib/python3.6/site-packages/alembic/runtime/migration.py", line 330, in run_migrations
step.migration_fn(**kw)
File "/home/pc/Downloads/project/auth/migrations/versions/efae4166f832_.py", line 22, in upgrade
sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(length=16), nullable=False),
NameError: name 'sqlalchemy_utils' is not defined`

我曾尝试明确告知我正在使用的模块,例如 this并使用 SQLAlchemy 的“内部”实现

Obs:如果我手动导入 sqlalchemy_utils/migrations/version/efae4166f832_.py并删除自动生成的长度 sa.Column('id', sqlalchemy_utils.types.uuid.UUIDType(length=16), nullable=False)它有效 fine

我使用 generate.py 生成迁移脚本:
from src import create_app

from src.db import db

from flask_migrate import Migrate

# Models

from src.user.models.user import User

app = create_app()

migrate = Migrate(app, db)`

enter image description here

Obs:MySQL引擎

我希望当我生成迁移时,它会生成一个用户模型,该模型使用从 SQLAlchemy Utils 实现的 UUID 作为主键

最佳答案

您只需添加:

import sqlalchemy_utils

到迁移文件夹中的 script.py.mako

关于sqlalchemy - 如何在 SQLAlchemy 模型中使用 SQLAlchemy Utils,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055469/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com