Используя SQLAlchemy необходимо сделать кеш-бд на sqlite, основная БД postgres. Но как известно sqlite не поддерживает тип данных ARRAY с чем есть трудности. Как можно заставить их подружится, не писав 2 разных класса.
Получилось сделать это переводя все в битовую запись и обратно, но тогда в postgres будет хранится в битовой форме, что плохо:
class Properties(Base):
__tablename__ = 'properties'
id = Column(Integer, primary_key=True)
name = Column(BytesArray(PickleType), nullable=True)
class BytesArray(TypeDecorator):
impl = LargeBinary
def process_bind_param(self, value, dialect):
return pickle.dumps(value, 0)
def process_result_value(self, value, dialect):
return pickle.loads(value)
Есть ли какой то вариант ? Совсем замучался с orm-классами