Coverage for sqlmodel/sql/sqltypes.py: 92%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-08-12 19:13 +0000

1from typing import Any, cast 1abcdef

2 

3from sqlalchemy import types 1abcdef

4from sqlalchemy.engine.interfaces import Dialect 1abcdef

5 

6 

7class AutoString(types.TypeDecorator): # type: ignore 1abcdef

8 impl = types.String 1abcdef

9 cache_ok = True 1abcdef

10 mysql_default_length = 255 1abcdef

11 

12 def load_dialect_impl(self, dialect: Dialect) -> "types.TypeEngine[Any]": 1abcdef

13 impl = cast(types.String, self.impl) 1abcdef

14 if impl.length is None and dialect.name == "mysql": 1abcdef

15 return dialect.type_descriptor(types.String(self.mysql_default_length)) 

16 return super().load_dialect_impl(dialect) 1abcdef