from sqlalchemy.ext.declarative import declarative_base
from migrate.changeset.constraint import UniqueConstraint
-from mediagoblin.db.sql.migration_tools import RegisterMigration
+from mediagoblin.db.sql.migration_tools import RegisterMigration, inspect_table
from mediagoblin.db.models import MediaEntry, Collection, User
MIGRATIONS = {}
def add_transcoding_progress(db_conn):
metadata = MetaData(bind=db_conn.bind)
- media_entry = Table('core__media_entries', metadata, autoload=True,
- autoload_with=db_conn.bind)
+ media_entry = inspect_table(metadata, 'core__media_entries')
col = Column('transcoding_progress', SmallInteger)
col.create(media_entry)
def add_mediaentry_collected(db_conn):
metadata = MetaData(bind=db_conn.bind)
- media_entry = Table('core__media_entries', metadata, autoload=True,
- autoload_with=db_conn.bind)
+ media_entry = inspect_table(metadata, 'core__media_entries')
col = Column('collected', Integer, default=0)
col.create(media_entry)
metadata = MetaData(bind=db_conn.bind)
- CollectionItem_table = Table('core__collection_items',
- metadata, autoload=True, autoload_with=db_conn.bind)
+ CollectionItem_table = inspect_table(metadata, 'core__collection_items')
constraint = UniqueConstraint('collection', 'media_entry',
name='core__collection_items_collection_media_entry_key',
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.tools.common import simple_printer
+from sqlalchemy import Table
class MigrationManager(object):
if not MigrationData.__table__.exists(db.bind):
MigrationData.metadata.create_all(
db.bind, tables=[MigrationData.__table__])
+
+
+def inspect_table(metadata, table_name):
+ """Simple helper to get a ref to an already existing table"""
+ return Table(table_name, metadata, autoload=True,
+ autoload_with=metadata.bind)