Насколько целесообразно отказаться от ID в пользу hash?
Обычно, при описании сущности в БД для уникальности используется ID типа int.
А если вместо int использовать hash:
def generate_hash():
# тут будем генерировать и возвращать hash
...
Base = declarative_base()
class MyModel(Base):
__tablename__ = 'my_model'
id = Column(String, primary_key=True, unique=True, default=generate_hash())
...
насколько это будет правильно: могут ли быть проблемы с производительностью и уникальностью?
Или не париться об избыточности и просто создать обычное поле ID типа int и дополнительное поле с hash, раз оно так нужно?