Source code for sibl_gui.components.core.database.migrations.versions.002_add_table_Sets_Column_previewImage

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
**002_add_table_Sets_Column_previewImage.py**

**Platform:**
	Windows, Linux, Mac Os X.

**Description:**
	This module defines the *002* version Application Database migrations objects: :func:`upgrade`
	and :func:`downgrade` definitions.

**Others:**

"""

#**********************************************************************************************************************
#*** External imports
#**********************************************************************************************************************
import sqlalchemy

#**********************************************************************************************************************
#***	Internal imports.
#**********************************************************************************************************************
import foundations.verbose

#**********************************************************************************************************************
#***	Module attributes.
#**********************************************************************************************************************
__author__ = "Thomas Mansencal"
__copyright__ = "Copyright (C) 2008 - 2012 - Thomas Mansencal"
__license__ = "GPL V3.0 - http://www.gnu.org/licenses/"
__maintainer__ = "Thomas Mansencal"
__email__ = "thomas.mansencal@gmail.com"
__status__ = "Production"

__all__ = ["LOGGER", "upgrade", "downgrade"]

LOGGER = foundations.verbose.installLogger()

#**********************************************************************************************************************
#***	Module classes and definitions.
#**********************************************************************************************************************
[docs]def upgrade(databaseEngine): """ This definition upgrades the Database. :param databaseEngine: Database engine. ( Object ) """ LOGGER.info("{0} | SQLAlchemy Migrate: Upgrading Database!".format(__name__)) metadata = sqlalchemy.MetaData() metadata.bind = databaseEngine tableName = "IblSets" table = sqlalchemy.Table(tableName, metadata, autoload=True, autoload_with=databaseEngine) columnName = "previewImage" if columnName not in table.columns: LOGGER.info("{0} | SQLAlchemy Migrate: Adding '{1}' column to '{2}' table!".format(__name__, columnName, table)) column = sqlalchemy.Column(columnName, sqlalchemy.String) column.create(table) else: LOGGER.info("{0} | SQLAlchemy Migrate: Column '{1}' already exists in '{2}' table!".format(__name__, columnName, table))
[docs]def downgrade(databaseEngine): """ This definition downgrades the Database. :param databaseEngine: Database engine. ( Object ) """ pass