MySQL
utf8は本当のutf8ではない。
utf8mb4を使う必要がある。設定としては、utf8mb4_general_ciでOK。
これをしていないと、「Incorrect string value: ...」というエラーが出る場合がある。
参考
https://mita2db.hateblo.jp/entry/2020/12/07/000000
https://qiita.com/houtarou/items/228086bbc7d1d10abdb9
mysql + sqlalchemyでタイムスタンプを小数点表現する方法
sqlalchemyの普通のDATETIMEではなく、dialects.mysql.DATETIMEクラスを使い、fspという引数を指定する。
from sqlalchemy import Column, Integer
# from sqlalchemy import DATETIME # こちらは使えない
from sqlalchemy.dialects.mysql import DATETIME
from app.db.base_class import Base
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class SampleModel(Base):
id = Column(Integer , nullable=False, primary_key=True, autoincrement=True)
updated_at = Column(DATETIME(fsp=6) , nullable=False)
参考
https://stackoverflow.com/questions/29711102/sqlalchemy-mysql-millisecond-or-microsecond-precision
外部キー制約の種類について
https://qiita.com/suin/items/21fe6c5a78c1505b19cb
Last updated