Merge "Add x_project_id, accepted to transfers"
This commit is contained in:
commit
a4bbe10782
|
@ -0,0 +1,34 @@
|
|||
# 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.
|
||||
|
||||
from sqlalchemy import Boolean, Column, MetaData, Table, String
|
||||
|
||||
|
||||
def upgrade(migrate_engine):
|
||||
"""Add columns to the transfers table.
|
||||
|
||||
Add source_project_id, destination_project_id and accepted columns to the
|
||||
transfers table to improve volume transfer records.
|
||||
"""
|
||||
meta = MetaData(bind=migrate_engine)
|
||||
transfers = Table('transfers', meta, autoload=True)
|
||||
|
||||
if not hasattr(transfers.c, 'source_project_id'):
|
||||
transfers.create_column(Column('source_project_id', String(255),
|
||||
nullable=True))
|
||||
|
||||
if not hasattr(transfers.c, 'destination_project_id'):
|
||||
transfers.create_column(Column('destination_project_id', String(255),
|
||||
nullable=True))
|
||||
|
||||
if not hasattr(transfers.c, 'accepted'):
|
||||
transfers.create_column(Column('accepted', Boolean, default=False))
|
|
@ -831,6 +831,9 @@ class Transfer(BASE, CinderBase):
|
|||
crypt_hash = Column(String(255))
|
||||
expires_at = Column(DateTime)
|
||||
no_snapshots = Column(Boolean, default=False)
|
||||
source_project_id = Column(String(255), nullable=True)
|
||||
destination_project_id = Column(String(255), nullable=True)
|
||||
accepted = Column(Boolean, default=False)
|
||||
volume = relationship(Volume, backref="transfer",
|
||||
foreign_keys=volume_id,
|
||||
primaryjoin='and_('
|
||||
|
|
|
@ -422,6 +422,12 @@ class MigrationsMixin(test_migrations.WalkVersionsMixin):
|
|||
self.VARCHAR_TYPE)
|
||||
self.assertEqual(300, quota_usage_resource.c.resource.type.length)
|
||||
|
||||
def _check_128(self, engine, data):
|
||||
volume_transfer = db_utils.get_table(engine, 'transfers')
|
||||
self.assertIn('source_project_id', volume_transfer.c)
|
||||
self.assertIn('destination_project_id', volume_transfer.c)
|
||||
self.assertIn('accepted', volume_transfer.c)
|
||||
|
||||
def test_walk_versions(self):
|
||||
self.walk_versions(False, False)
|
||||
self.assert_each_foreign_key_is_part_of_an_index()
|
||||
|
|
Loading…
Reference in New Issue