nonebot-bison/nonebot_bison/config/migrations/bd92923c218f_alter_json_not_null.py
pre-commit-ci[bot] f6ee4a4c1b
⬆️ auto update by pre-commit hooks (#416)
* ⬆️ auto update by pre-commit hooks

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.292 → v0.1.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.0.292...v0.1.9)
- [github.com/pycqa/isort: 5.12.0 → 5.13.2](https://github.com/pycqa/isort/compare/5.12.0...5.13.2)
- [github.com/psf/black: 23.9.1 → 23.12.1](https://github.com/psf/black/compare/23.9.1...23.12.1)
- [github.com/pre-commit/mirrors-prettier: v3.0.3 → v4.0.0-alpha.8](https://github.com/pre-commit/mirrors-prettier/compare/v3.0.3...v4.0.0-alpha.8)
- [github.com/pre-commit/mirrors-eslint: v8.50.0 → v9.0.0-alpha.0](https://github.com/pre-commit/mirrors-eslint/compare/v8.50.0...v9.0.0-alpha.0)

* 💄 auto fix by pre-commit hooks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-02 10:24:42 +08:00

54 lines
1.7 KiB
Python

"""alter_json_not_null
Revision ID: bd92923c218f
Revises: 5da28f6facb3
Create Date: 2023-03-02 14:04:16.492133
"""
import sqlalchemy as sa
from alembic import op
from sqlalchemy import select
from sqlalchemy.orm import Session
from sqlalchemy.ext.automap import automap_base
# revision identifiers, used by Alembic.
revision = "bd92923c218f"
down_revision = "5da28f6facb3"
branch_labels = None
depends_on = None
def set_default_value():
Base = automap_base()
Base.prepare(autoload_with=op.get_bind())
Subscribe = Base.classes.nonebot_bison_subscribe
with Session(op.get_bind()) as session:
select_statement = select(Subscribe)
results = session.scalars(select_statement)
for subscribe in results:
if subscribe.categories is None:
subscribe.categories = []
if subscribe.tags is None:
subscribe.tags = []
session.commit()
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
set_default_value()
with op.batch_alter_table("nonebot_bison_subscribe", schema=None) as batch_op:
batch_op.alter_column("categories", existing_type=sa.JSON(), nullable=False)
batch_op.alter_column("tags", existing_type=sa.JSON(), nullable=False)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table("nonebot_bison_subscribe", schema=None) as batch_op:
batch_op.alter_column("tags", existing_type=sa.JSON(), nullable=True)
batch_op.alter_column("categories", existing_type=sa.JSON(), nullable=True)
# ### end Alembic commands ###