From: Aaron Williamson Date: Thu, 30 Aug 2012 20:48:13 +0000 (-0400) Subject: Added migrations for Collection and CollectionItem tables X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=29fdd3bb7cdba2f7162ff0b24c9e774c3873a501;p=mediagoblin.git Added migrations for Collection and CollectionItem tables --- diff --git a/mediagoblin/db/sql/migrations.py b/mediagoblin/db/sql/migrations.py index ea137ff1..9a20efaf 100644 --- a/mediagoblin/db/sql/migrations.py +++ b/mediagoblin/db/sql/migrations.py @@ -14,9 +14,12 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import datetime + from sqlalchemy import MetaData, Table, Column, Boolean, SmallInteger, Integer from mediagoblin.db.sql.util import RegisterMigration +from mediagoblin.db.sql.models import MediaEntry, Collection MIGRATIONS = {} @@ -60,8 +63,33 @@ def add_transcoding_progress(db_conn): col.create(media_entry) db_conn.commit() - @RegisterMigration(4, MIGRATIONS) +def add_collection_tables(db_conn): + metadata = MetaData(bind=db_conn.bind) + + collection = Table('core__collections', metadata, + Column('id', Integer, primary_key=True), + Column('title', Unicode, nullable=False), + Column('slug', Unicode), + Column('created', DateTime, nullable=False, default=datetime.datetime.now, index=True), + Column('description', UnicodeText), + Column('creator', Integer, ForeignKey(User.id), nullable=False), + Column('items', Integer, default=0)) + + collection_item = Table('core__collection_items', metadata, + Column('id', Integer, primary_key=True), + Column('media_entry', Integer, ForeignKey(MediaEntry.id), nullable=False, index=True), + Column('collection', Integer, ForeignKey(Collection.id), nullable=False), + Column('note', UnicodeText, nullable=True), + Column('added', DateTime, nullable=False, default=datetime.datetime.now), + Column('position', Integer)) + + collection.create() + collection_item.create() + + db_conn.commit() + +@RegisterMigration(5, MIGRATIONS) def add_mediaentry_collected(db_conn): metadata = MetaData(bind=db_conn.bind) @@ -71,3 +99,4 @@ def add_mediaentry_collected(db_conn): col = Column('collected', Integer) col.create(media_entry) db_conn.commit() +