Açıklama Yok

cd519d2d24df_password_policy_edition.py 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. """Password policy edition
  2. Revision ID: cd519d2d24df
  3. Revises: ca93d4b54571
  4. Create Date: 2022-05-25 18:09:08.741619
  5. """
  6. import sqlalchemy as sa
  7. from alembic import op
  8. from app.alembic.alembic_utils import _table_has_column
  9. # revision identifiers, used by Alembic.
  10. revision = 'cd519d2d24df'
  11. down_revision = 'ca93d4b54571'
  12. branch_labels = None
  13. depends_on = None
  14. def upgrade():
  15. columns = {
  16. "password_policy_min_length": sa.Integer,
  17. "password_policy_upper_case": sa.Boolean,
  18. "password_policy_lower_case": sa.Boolean,
  19. "password_policy_digit": sa.Boolean,
  20. "password_policy_special_chars": sa.Text,
  21. }
  22. for col in columns:
  23. if not _table_has_column('server_settings', col):
  24. op.add_column('server_settings',
  25. sa.Column(col, columns[col])
  26. )
  27. t_ua = sa.Table(
  28. 'server_settings',
  29. sa.MetaData(),
  30. sa.Column('id', sa.Integer, primary_key=True),
  31. sa.Column('password_policy_min_length', sa.Integer),
  32. sa.Column('password_policy_upper_case', sa.Boolean),
  33. sa.Column('password_policy_lower_case', sa.Boolean),
  34. sa.Column('password_policy_digit', sa.Boolean),
  35. sa.Column('password_policy_special_chars', sa.Text)
  36. )
  37. conn = op.get_bind()
  38. conn.execute(t_ua.update().values(
  39. password_policy_min_length=12,
  40. password_policy_upper_case=True,
  41. password_policy_lower_case=True,
  42. password_policy_digit=True,
  43. password_policy_special_chars=''
  44. ))
  45. pass
  46. def downgrade():
  47. pass