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__ = (
|
__table_args__ = (
|
||||||
{'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'},)
|
{'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'},)
|
||||||
id = Column(String(255), primary_key=True, nullable=False)
|
id = Column(String(255), primary_key=True, nullable=False)
|
||||||
|
acquired_at = Column(
|
||||||
|
DateTime, nullable=False, default=lambda: timeutils.utcnow())
|
||||||
|
|
||||||
|
|
||||||
def register_models(engine):
|
def register_models(engine):
|
||||||
|
@ -132,6 +132,9 @@ class GlareMigrationsCheckers(object):
|
|||||||
self.assertRaises(sqlalchemy.exc.NoSuchTableError,
|
self.assertRaises(sqlalchemy.exc.NoSuchTableError,
|
||||||
db_utils.get_table, engine,
|
db_utils.get_table, engine,
|
||||||
'glare_artifact_blobs')
|
'glare_artifact_blobs')
|
||||||
|
self.assertRaises(sqlalchemy.exc.NoSuchTableError,
|
||||||
|
db_utils.get_table, engine,
|
||||||
|
'glare_artifact_locks')
|
||||||
|
|
||||||
def _check_001(self, engine, data):
|
def _check_001(self, engine, data):
|
||||||
artifacts_indices = [('ix_glare_artifact_name_and_version',
|
artifacts_indices = [('ix_glare_artifact_name_and_version',
|
||||||
@ -207,6 +210,12 @@ class GlareMigrationsCheckers(object):
|
|||||||
self.assert_table(engine, 'glare_artifact_locks', locks_indices,
|
self.assert_table(engine, 'glare_artifact_locks', locks_indices,
|
||||||
locks_columns)
|
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,
|
class TestMigrationsMySQL(GlareMigrationsCheckers,
|
||||||
WalkVersionsMixin,
|
WalkVersionsMixin,
|
||||||
|
Loading…
Reference in New Issue
Block a user