X-Git-Url: http://git.veekun.com/zzz-spline-forum.git/blobdiff_plain/39c2141c656650e7624d34f8f4bf6c28dbce0981..be07212348141269cd4c5f1544b9a920a6abbfff:/migration/versions/005_Added_markup_support.py diff --git a/migration/versions/005_Added_markup_support.py b/migration/versions/005_Added_markup_support.py new file mode 100644 index 0000000..c27c819 --- /dev/null +++ b/migration/versions/005_Added_markup_support.py @@ -0,0 +1,32 @@ +from sqlalchemy import * +from migrate import * +import migrate.changeset + +from sqlalchemy.ext.declarative import declarative_base +TableBase = declarative_base() + +class Post(TableBase): + __tablename__ = 'posts' + id = Column(Integer, primary_key=True, autoincrement=True, nullable=False) + raw_content = Column(Unicode(5120), nullable=False, server_default=u'') + content = Column(Unicode(5120), nullable=False) + + +def upgrade(migrate_engine): + TableBase.metadata.bind = migrate_engine + conn = migrate_engine.connect() + + # Create the column with an empty-string default, copy the old column's + # contents to the new one then remove the default + Post.__table__.c.raw_content.create(connection=conn) + conn.execute( + update(Post.__table__, + values={ Post.__table__.c.raw_content: Post.__table__.c.content }, + ) + ) + Post.__table__.c.raw_content.alter(server_default=None, connection=conn) + +def downgrade(migrate_engine): + TableBase.metadata.bind = migrate_engine + + Post.__table__.c.raw_content.drop()