From 5178600feafd1bd0410af7fe64aa6e3e466553f5 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sun, 19 Dec 2021 22:20:34 +0100 Subject: [PATCH] fix(db): Add __repr__ to custom column types, same as done by SQLAlchemy --- flaschengeist/models/__init__.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/flaschengeist/models/__init__.py b/flaschengeist/models/__init__.py index 8cf3850..369bb30 100644 --- a/flaschengeist/models/__init__.py +++ b/flaschengeist/models/__init__.py @@ -1,7 +1,7 @@ import sys import datetime -from sqlalchemy import BigInteger +from sqlalchemy import BigInteger, util from sqlalchemy.dialects import mysql, sqlite from sqlalchemy.types import DateTime, TypeDecorator @@ -50,6 +50,10 @@ class Serial(TypeDecorator): cache_ok = True impl = BigInteger().with_variant(mysql.BIGINT(unsigned=True), "mysql").with_variant(sqlite.INTEGER(), "sqlite") + # https://alembic.sqlalchemy.org/en/latest/autogenerate.html?highlight=custom%20column#affecting-the-rendering-of-types-themselves + def __repr__(self) -> str: + return util.generic_repr(self) + class UtcDateTime(TypeDecorator): """Almost equivalent to `sqlalchemy.types.DateTime` with @@ -85,3 +89,7 @@ class UtcDateTime(TypeDecorator): value = value.astimezone(datetime.timezone.utc) value = value.replace(tzinfo=datetime.timezone.utc) return value + + # https://alembic.sqlalchemy.org/en/latest/autogenerate.html?highlight=custom%20column#affecting-the-rendering-of-types-themselves + def __repr__(self) -> str: + return util.generic_repr(self)