diff --git a/murano/db/models.py b/murano/db/models.py index f0f451274..43b6afc2c 100644 --- a/murano/db/models.py +++ b/murano/db/models.py @@ -24,6 +24,7 @@ from sqlalchemy import orm as sa_orm from murano.common import uuidutils from murano.db import session as db_session +from murano.db.sqla import types as st from murano.openstack.common import timeutils @@ -265,7 +266,7 @@ class Package(BASE, ModificationsTrackedObject): id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) - archive = sa.Column(sa.LargeBinary) + archive = sa.Column(st.LargeBinary()) fully_qualified_name = sa.Column(sa.String(512), nullable=False, index=True, @@ -283,7 +284,7 @@ class Package(BASE, ModificationsTrackedObject): secondary=package_to_tag, cascade='save-update, merge', lazy='joined') - logo = sa.Column(sa.LargeBinary, nullable=True) + logo = sa.Column(st.LargeBinary(), nullable=True) owner_id = sa.Column(sa.String(36), nullable=False) ui_definition = sa.Column(sa.Text) supplier_logo = sa.Column(sa.LargeBinary, nullable=True) diff --git a/murano/db/sqla/types.py b/murano/db/sqla/types.py index c5d46e51a..53efdb910 100644 --- a/murano/db/sqla/types.py +++ b/murano/db/sqla/types.py @@ -17,11 +17,5 @@ from sqlalchemy.dialects import mysql CONF = cfg.CONF -def _is_mysql_avail(): - return CONF.database.connection.startswith('mysql') - - def LargeBinary(): - if _is_mysql_avail(): - return mysql.LONGBLOB - return sa.LargeBinary + return sa.LargeBinary().with_variant(mysql.LONGBLOB(), 'mysql')