Update workbook namespace to '' on migration

Namespaces for workbooks have been recently introduced by
I2c66b3961915f0f35a9c468eb6dd0c0c70995234. It adds the new column but
leave the default as NULL in the database, and doesn't update the old
workbooks. This makes old workbooks undeletable. This patch adds a new
migration updating the workbooks.

Change-Id: I91d272d65b7be29303372f93c0811c484795efbb
Closes-Bug: #1785833
This commit is contained in:
Thomas Herve 2018-08-07 16:56:40 +02:00
parent df16c941fc
commit 6ce51e36bd
1 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,41 @@
# Copyright 2018 OpenStack Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""workbook_empty_namespace
Revision ID: 029
Revises: 028
Create Date: 2018-08-08 10:30:00.727769
"""
# revision identifiers, used by Alembic.
revision = '029'
down_revision = '028'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.sql import table, column
def upgrade():
wb_def = table('workbooks_v2', column('namespace'))
session = sa.orm.Session(bind=op.get_bind())
with session.begin(subtransactions=True):
session.execute(
wb_def.update().values(namespace='').where(
wb_def.c.namespace == None)) # noqa
session.commit()