[alembic] script_location = migrations prepend_sys_path = . timezone = Asia/Shanghai # 前缀是四位序号而非时间戳:迁移顺序要能一眼看出来,评审时也好指认 file_template = %%(rev)s_%%(slug)s version_path_separator = os # sqlalchemy.url 故意留空 —— 连接串只从环境变量读取(架构文档 §11.2 密钥不进代码) sqlalchemy.url = [post_write_hooks] hooks = ruff_format ruff_format.type = console_scripts ruff_format.entrypoint = ruff ruff_format.options = format REVISION_SCRIPT_FILENAME [loggers] keys = root,sqlalchemy,alembic [handlers] keys = console [formatters] keys = generic [logger_root] level = WARNING handlers = console qualname = [logger_sqlalchemy] level = WARNING handlers = qualname = sqlalchemy.engine [logger_alembic] level = INFO handlers = qualname = alembic [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [formatter_generic] format = %(levelname)-5.5s [%(name)s] %(message)s datefmt = %H:%M:%S