概要

UUIDを主キーとして利用したい場合に、MySQLの場合、SQLAlchemy-Utilsってモジュールを利用するのが手っ取り早いかったのでメモ。

実装例

一部抜粋

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy import Column

from sqlalchemy_utils import UUIDType

import uuid

Base = declarative_base()


class Hoge(Base):

  __tablename__ = 'hoges'

  id = Column(UUIDType(binary=False), primary_key=True, default=uuid.uuid4)

requirements.txt

sqlalchemy
sqlalchemy_utils

参考

SQLAlchemy-Utils
https://sqlalchemy-utils.readthedocs.io/en/latest/index.html

SQLAlchemy-Utils UUIDT
https://sqlalchemy-utils.readthedocs.io/en/latest/data_types.html#module-sqlalchemy_utils.types.uuid

元記事はこちら

SQLAlchemyをMySQLで主キーをUUIDにするならSQLAlchemy-Utilsが便利