server/migrations: add default tag category
This commit is contained in:
parent
f2fd769767
commit
accdb51c0b
1 changed files with 62 additions and 0 deletions
|
@ -0,0 +1,62 @@
|
||||||
|
'''
|
||||||
|
Add default tag category
|
||||||
|
|
||||||
|
Revision ID: 5f00af3004a4
|
||||||
|
Created at: 2017-02-02 20:06:13.336380
|
||||||
|
'''
|
||||||
|
|
||||||
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy.ext.declarative
|
||||||
|
import sqlalchemy.orm.session
|
||||||
|
|
||||||
|
|
||||||
|
revision = '5f00af3004a4'
|
||||||
|
down_revision = '9837fc981ec7'
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
Base = sa.ext.declarative.declarative_base()
|
||||||
|
|
||||||
|
|
||||||
|
class TagCategory(Base):
|
||||||
|
__tablename__ = 'tag_category'
|
||||||
|
__table_args__ = {'extend_existing': True}
|
||||||
|
|
||||||
|
tag_category_id = sa.Column('id', sa.Integer, primary_key=True)
|
||||||
|
version = sa.Column('version', sa.Integer, nullable=False)
|
||||||
|
name = sa.Column('name', sa.Unicode(32), nullable=False)
|
||||||
|
color = sa.Column('color', sa.Unicode(32), nullable=False)
|
||||||
|
default = sa.Column('default', sa.Boolean, nullable=False)
|
||||||
|
|
||||||
|
__mapper_args__ = {
|
||||||
|
'version_id_col': version,
|
||||||
|
'version_id_generator': False,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
session = sa.orm.session.Session(bind=op.get_bind())
|
||||||
|
if session.query(TagCategory).count() == 0:
|
||||||
|
category = TagCategory()
|
||||||
|
category.name = 'default'
|
||||||
|
category.color = 'default'
|
||||||
|
category.version = 1
|
||||||
|
category.default = True
|
||||||
|
session.add(category)
|
||||||
|
session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
session = sa.orm.session.Session(bind=op.get_bind())
|
||||||
|
default_category = session \
|
||||||
|
.query(TagCategory) \
|
||||||
|
.filter(TagCategory.name == 'default') \
|
||||||
|
.filter(TagCategory.color == 'default') \
|
||||||
|
.filter(TagCategory.version == 1) \
|
||||||
|
.filter(TagCategory.default == True) \
|
||||||
|
.one_or_none()
|
||||||
|
if default_category:
|
||||||
|
session.delete(default_category)
|
||||||
|
session.commit()
|
Loading…
Reference in a new issue