From 2880e0b8c38af68cfb17bbcc112f1a40b6a03a11 Mon Sep 17 00:00:00 2001 From: Michal Arbet Date: Thu, 24 May 2018 11:52:55 +0200 Subject: [PATCH] Fix cannot add a column with non-constant default With newer versions of sqlite tests are failing on sqlite3.OperationalError : Cannot add a column with non-constant default. In SQL queries is boolean without apostrophes which causes sqlite3 error. This fix is solving this issue by replacing text('false') to expression.false() from sqlalchemy.sql which is working correct. Change-Id: Ia96255a2a61994a18b21acc235931ad03a8501ea Closes-Bug: #1773123 --- .../versions/088_add_replication_info_to_cluster.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cinder/db/sqlalchemy/migrate_repo/versions/088_add_replication_info_to_cluster.py b/cinder/db/sqlalchemy/migrate_repo/versions/088_add_replication_info_to_cluster.py index 0e8ea25aa20..0e1ef2b2fd7 100644 --- a/cinder/db/sqlalchemy/migrate_repo/versions/088_add_replication_info_to_cluster.py +++ b/cinder/db/sqlalchemy/migrate_repo/versions/088_add_replication_info_to_cluster.py @@ -13,7 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. -from sqlalchemy import Boolean, Column, MetaData, String, Table, text +from sqlalchemy import Boolean, Column, MetaData, String, Table +from sqlalchemy.sql import expression def upgrade(migrate_engine): @@ -26,7 +27,7 @@ def upgrade(migrate_engine): default="not-capable") active_backend_id = Column('active_backend_id', String(length=255)) frozen = Column('frozen', Boolean, nullable=False, default=False, - server_default=text('false')) + server_default=expression.false()) clusters.create_column(replication_status) clusters.create_column(frozen)