Resolved bug MRN-719

Rewritten all migrations to named FK
Fixed column types for few migrations from text to string

Change-Id: Ifcf98caaa1b80f73ebf9739ebe7daf4f3206a534
This commit is contained in:
Serg Melikyan 2013-08-05 19:20:36 +04:00
parent 0b0b09cf4e
commit 3e8b5f4312
8 changed files with 138 additions and 78 deletions

View File

@ -11,36 +11,40 @@
# 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 migrate.changeset.constraint import ForeignKeyConstraint
from sqlalchemy.schema import MetaData, Table, Column, ForeignKey
from sqlalchemy.schema import MetaData, Table, Column
from sqlalchemy.types import String, Text, DateTime
meta = MetaData()
Table('environment', meta,
Column('id', String(32), primary_key=True),
Column('name', String(255), nullable=False),
Column('created', DateTime(), nullable=False),
Column('updated', DateTime(), nullable=False),
Column('tenant_id', String(32), nullable=False),
Column('description', Text(), nullable=False),
)
Table('service', meta,
Column('id', String(32), primary_key=True),
Column('name', String(255), nullable=False),
Column('type', String(40), nullable=False),
Column('environment_id', String(32), ForeignKey('environment.id')),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('description', Text(), nullable=False),
)
def upgrade(migrate_engine):
meta.bind = migrate_engine
meta.create_all()
meta.reflect()
environment = Table('environment', meta,
Column('id', String(32), primary_key=True),
Column('name', String(255), nullable=False),
Column('created', DateTime(), nullable=False),
Column('updated', DateTime(), nullable=False),
Column('tenant_id', String(32), nullable=False),
Column('description', Text(), nullable=False))
environment.create()
service = Table('service', meta,
Column('id', String(32), primary_key=True),
Column('name', String(255), nullable=False),
Column('type', String(40), nullable=False),
Column('environment_id', String(32), nullable=False),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('description', Text(), nullable=False))
service.create()
ForeignKeyConstraint(columns=[service.c.environment_id],
refcolumns=[environment.c.id]).create()
def downgrade(migrate_engine):

View File

@ -11,29 +11,35 @@
# 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 migrate.changeset.constraint import ForeignKeyConstraint
from sqlalchemy.schema import MetaData, Table, Column, ForeignKey
from sqlalchemy.schema import MetaData, Table, Column
from sqlalchemy.types import String, Text, DateTime
meta = MetaData()
session = Table('session', meta,
Column('id', String(32), primary_key=True),
Column('environment_id', String(32),
ForeignKey('environment.id')),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('user_id', String(32), nullable=False),
Column('state', Text(), nullable=False),
)
def upgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
session = Table('session', meta,
Column('id', String(32), primary_key=True),
Column('environment_id', String(32), nullable=False),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('user_id', String(32), nullable=False),
Column('state', Text(), nullable=False))
session.create()
environment = Table('environment', meta, autoload=True)
ForeignKeyConstraint(columns=[session.c.environment_id],
refcolumns=[environment.c.id]).create()
def downgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
session = Table('session', meta, autoload=True)
session.drop()

View File

@ -11,30 +11,40 @@
# 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 migrate.changeset.constraint import ForeignKeyConstraint
from sqlalchemy.schema import MetaData, Table, Column, ForeignKey
from sqlalchemy.schema import MetaData, Table, Column
from sqlalchemy.types import String, Text, DateTime
meta = MetaData()
status = Table('status', meta,
Column('id', String(32), primary_key=True),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('entity', String(10), nullable=False),
Column('environment_id', String(32),
ForeignKey('environment.id')),
Column('session_id', String(32), ForeignKey('session.id')),
Column('text', Text(), nullable=False),
)
def upgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
status = Table('status', meta,
Column('id', String(32), primary_key=True),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('entity', String(10), nullable=False),
Column('environment_id', String(32), nullable=False),
Column('session_id', String(32), nullable=False),
Column('text', Text(), nullable=False),
)
status.create()
environment = Table('environment', meta, autoload=True)
ForeignKeyConstraint(columns=[status.c.environment_id],
refcolumns=[environment.c.id]).create()
session = Table('session', meta, autoload=True)
ForeignKeyConstraint(columns=[status.c.session_id],
refcolumns=[session.c.id]).create()
def downgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
status = Table('status', meta, autoload=True)
status.drop()

View File

@ -11,32 +11,35 @@
# 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 migrate.changeset.constraint import ForeignKeyConstraint
from sqlalchemy.schema import MetaData, Table, Column, ForeignKey
from sqlalchemy.types import String, Text, DateTime
from sqlalchemy.schema import MetaData, Table, Column
from sqlalchemy.types import String, DateTime, Text
meta = MetaData()
service = Table('service', meta,
Column('id', String(32), primary_key=True),
Column('name', String(255), nullable=False),
Column('type', String(40), nullable=False),
Column('environment_id', String(32),
ForeignKey('environment.id')),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('description', Text(), nullable=False),
)
def upgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
service = Table('service', meta, autoload=True)
service.drop()
def downgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
service = Table('service', meta,
Column('id', String(32), primary_key=True),
Column('name', String(255), nullable=False),
Column('type', String(40), nullable=False),
Column('environment_id', String(32), nullable=False),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('description', Text(), nullable=False))
service.create()
environment = Table('environment', meta, autoload=True)
ForeignKeyConstraint(columns=[service.c.environment_id],
refcolumns=[environment.c.id]).create()

View File

@ -11,28 +11,35 @@
# 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 migrate.changeset.constraint import ForeignKeyConstraint
from sqlalchemy.schema import MetaData, Table, Column, ForeignKey
from sqlalchemy.schema import MetaData, Table, Column
from sqlalchemy.types import String, DateTime
meta = MetaData()
deployment = Table('deployment', meta,
Column('id', String(32), primary_key=True),
Column('environment_id', String(32),
ForeignKey('environment.id')),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('started', DateTime, nullable=False),
Column('finished', DateTime, nullable=True))
def upgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
deployment = Table('deployment', meta,
Column('id', String(32), primary_key=True),
Column('environment_id', String(32), nullable=False),
Column('created', DateTime, nullable=False),
Column('updated', DateTime, nullable=False),
Column('started', DateTime, nullable=False),
Column('finished', DateTime, nullable=True))
deployment.create()
environment = Table('environment', meta, autoload=True)
ForeignKeyConstraint(columns=[deployment.c.environment_id],
refcolumns=[environment.c.id]).create()
def downgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
deployment = Table('deployment', meta, autoload=True)
deployment.drop()

View File

@ -11,8 +11,9 @@
# 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 migrate.changeset.constraint import ForeignKeyConstraint
from sqlalchemy.schema import MetaData, Table, Column, ForeignKey
from sqlalchemy.schema import MetaData, Table, Column
from sqlalchemy.types import String
meta = MetaData()
@ -21,11 +22,22 @@ meta = MetaData()
def upgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
status = Table('status', meta, autoload=True)
deployment_id = Column('deployment_id', String(32),
ForeignKey('deployment.id'))
environment = Table('environment', meta, autoload=True)
session = Table('session', meta, autoload=True)
deployment = Table('deployment', meta, autoload=True)
deployment_id = Column('deployment_id', String(32), nullable=False)
deployment_id.create(status)
ForeignKeyConstraint(columns=[status.c.deployment_id],
refcolumns=[deployment.c.id]).create()
ForeignKeyConstraint(columns=[status.c.environment_id],
refcolumns=[environment.c.id]).drop()
status.c.environment_id.drop()
ForeignKeyConstraint(columns=[status.c.session_id],
refcolumns=[session.c.id]).drop()
status.c.session_id.drop()
status.c.entity.alter(nullable=True)
@ -33,11 +45,24 @@ def upgrade(migrate_engine):
def downgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
status = Table('status', meta, autoload=True)
environment = Table('environment', meta, autoload=True)
session = Table('session', meta, autoload=True)
deployment = Table('deployment', meta, autoload=True)
ForeignKeyConstraint(columns=[status.c.deployment_id],
refcolumns=[deployment.c.id]).drop()
status.c.deployment_id.drop()
environment_id = Column('environment_id', String(32),
ForeignKey('environment.id'))
environment_id = Column('environment_id', String(32), nullable=False)
environment_id.create(status)
session_id = Column('session_id', String(32), ForeignKey('session.id'))
ForeignKeyConstraint(columns=[status.c.environment_id],
refcolumns=[environment.c.id]).create()
session_id = Column('session_id', String(32), nullable=False)
session_id.create(status)
ForeignKeyConstraint(columns=[status.c.session_id],
refcolumns=[session.c.id]).create()
status.c.entity.alter(nullable=False)

View File

@ -13,22 +13,27 @@
# under the License.
from sqlalchemy.schema import MetaData, Table, Column
from sqlalchemy.types import Text
from sqlalchemy.types import Text, String
meta = MetaData()
def upgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
status = Table('status', meta, autoload=True)
details = Column('details', Text(), nullable=True)
level = Column('level', Text(), nullable=False, server_default='info')
level = Column('level', String(32), nullable=False, server_default='info')
details.create(status)
level.create(status)
def downgrade(migrate_engine):
meta.bind = migrate_engine
meta.reflect()
status = Table('status', meta, autoload=True)
status.c.details.drop()
status.c.level.drop()

View File

@ -165,8 +165,8 @@ class Status(BASE, ModelBase):
entity_id = Column(String(32), nullable=True)
entity = Column(String(10), nullable=True)
deployment_id = Column(String(32), ForeignKey('deployment.id'))
text = Column(Text(), nullable=False)
level = Column(Text(), nullable=False)
text = Column(String(), nullable=False)
level = Column(String(32), nullable=False)
details = Column(Text(), nullable=True)
def to_dict(self):