Merge "Add acquired_at column to glare_locks table"
This commit is contained in:
commit
153a41810f
@ -0,0 +1,51 @@
|
||||
# Copyright 2016 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.
|
||||
|
||||
"""Add acquired_at column
|
||||
|
||||
Revision ID: 002
|
||||
Revises: 001
|
||||
Create Date: 2016-10-05 16:03:43.207147
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '002'
|
||||
down_revision = '001'
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
def upgrade():
|
||||
engine = op.get_bind()
|
||||
if engine.dialect.dialect_description.startswith('sqlite'):
|
||||
op.add_column(
|
||||
'glare_artifact_locks',
|
||||
sa.Column(
|
||||
'acquired_at', sa.DateTime(), nullable=False,
|
||||
server_default=sa.text('NOW'))
|
||||
)
|
||||
else:
|
||||
op.add_column(
|
||||
'glare_artifact_locks',
|
||||
sa.Column(
|
||||
'acquired_at', sa.DateTime(), nullable=False,
|
||||
server_default=sa.text('NOW()'))
|
||||
)
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.drop_column('glare_artifact_locks', 'acquired_at')
|
@ -242,6 +242,8 @@ class ArtifactLock(BASE, ArtifactBase):
|
||||
__table_args__ = (
|
||||
{'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'},)
|
||||
id = Column(String(255), primary_key=True, nullable=False)
|
||||
acquired_at = Column(
|
||||
DateTime, nullable=False, default=lambda: timeutils.utcnow())
|
||||
|
||||
|
||||
def register_models(engine):
|
||||
|
@ -132,6 +132,9 @@ class GlareMigrationsCheckers(object):
|
||||
self.assertRaises(sqlalchemy.exc.NoSuchTableError,
|
||||
db_utils.get_table, engine,
|
||||
'glare_artifact_blobs')
|
||||
self.assertRaises(sqlalchemy.exc.NoSuchTableError,
|
||||
db_utils.get_table, engine,
|
||||
'glare_artifact_locks')
|
||||
|
||||
def _check_001(self, engine, data):
|
||||
artifacts_indices = [('ix_glare_artifact_name_and_version',
|
||||
@ -207,6 +210,12 @@ class GlareMigrationsCheckers(object):
|
||||
self.assert_table(engine, 'glare_artifact_locks', locks_indices,
|
||||
locks_columns)
|
||||
|
||||
def _check_002(self, engine, data):
|
||||
locks_indices = []
|
||||
locks_columns = ['id', 'acquired_at']
|
||||
self.assert_table(engine, 'glare_artifact_locks', locks_indices,
|
||||
locks_columns)
|
||||
|
||||
|
||||
class TestMigrationsMySQL(GlareMigrationsCheckers,
|
||||
WalkVersionsMixin,
|
||||
|
Loading…
Reference in New Issue
Block a user