Added migrations for Collection and CollectionItem tables

This commit is contained in:
Aaron Williamson 2012-08-30 16:48:13 -04:00 committed by Joar Wandborg
parent 59fb87c944
commit 29fdd3bb7c

View File

@ -14,9 +14,12 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import datetime
from sqlalchemy import MetaData, Table, Column, Boolean, SmallInteger, Integer from sqlalchemy import MetaData, Table, Column, Boolean, SmallInteger, Integer
from mediagoblin.db.sql.util import RegisterMigration from mediagoblin.db.sql.util import RegisterMigration
from mediagoblin.db.sql.models import MediaEntry, Collection
MIGRATIONS = {} MIGRATIONS = {}
@ -60,8 +63,33 @@ def add_transcoding_progress(db_conn):
col.create(media_entry) col.create(media_entry)
db_conn.commit() db_conn.commit()
@RegisterMigration(4, MIGRATIONS) @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): def add_mediaentry_collected(db_conn):
metadata = MetaData(bind=db_conn.bind) metadata = MetaData(bind=db_conn.bind)
@ -71,3 +99,4 @@ def add_mediaentry_collected(db_conn):
col = Column('collected', Integer) col = Column('collected', Integer)
col.create(media_entry) col.create(media_entry)
db_conn.commit() db_conn.commit()