7c3fcf8a3335_add_plugin_tables.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. """Add plugin tables
  2. Revision ID: 7c3fcf8a3335
  3. Revises:
  4. Create Date: 2017-08-12 12:41:04.725309
  5. """
  6. import sqlalchemy as sa
  7. from alembic import op
  8. # revision identifiers, used by Alembic.
  9. revision = '7c3fcf8a3335'
  10. down_revision = 'd0ffadc3ea48'
  11. branch_labels = ()
  12. depends_on = None
  13. def upgrade():
  14. # ### commands auto generated by Alembic - please adjust! ###
  15. op.create_table(
  16. 'plugin_registry',
  17. sa.Column('id', sa.Integer(), nullable=False),
  18. sa.Column('name', sa.Unicode(length=255), nullable=False),
  19. sa.Column('enabled', sa.Boolean(), nullable=True),
  20. sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name')
  21. )
  22. op.create_table(
  23. 'plugin_store',
  24. sa.Column('id', sa.Integer(), nullable=False),
  25. sa.Column('key', sa.Unicode(length=255), nullable=False),
  26. sa.Column('value', sa.PickleType(), nullable=False),
  27. sa.Column('value_type', sa.Enum(
  28. 'string', 'integer', 'float', 'boolean', 'select', 'selectmultiple',
  29. name='settingsvaluetypes'), nullable=False
  30. ),
  31. sa.Column('extra', sa.PickleType(), nullable=True),
  32. sa.Column('plugin_id', sa.Integer(), nullable=True),
  33. sa.Column('name', sa.Unicode(length=255), nullable=False),
  34. sa.Column('description', sa.Text(), nullable=True),
  35. sa.ForeignKeyConstraint(
  36. ['plugin_id'],
  37. ['plugin_registry.id'],
  38. ),
  39. sa.PrimaryKeyConstraint('id'),
  40. sa.UniqueConstraint('key', 'plugin_id', name='plugin_kv_uniq')
  41. )
  42. # ### end Alembic commands ###
  43. def downgrade():
  44. # ### commands auto generated by Alembic - please adjust! ###
  45. op.drop_table('plugin_store')
  46. op.drop_table('plugin_registry')
  47. # ### end Alembic commands ###