| 123456789101112131415161718192021222324 |
- """统一 UTF-8 读取迁移配置,Windows 默认 GBK 时也不必手工更改系统编码。"""
- import argparse
- import configparser
- from pathlib import Path
- import sys
- root = Path(__file__).resolve().parents[1]
- sys.path.insert(0, str(root))
- from alembic import command
- from alembic.config import Config
- if __name__ == '__main__':
- parser = argparse.ArgumentParser(description='执行已交付迁移,不生成或猜测新结构')
- parser.add_argument('operation', choices=['upgrade', 'current'], default='upgrade', nargs='?')
- args = parser.parse_args()
- source = configparser.ConfigParser(defaults={'here': str(root)})
- source.read(root / 'alembic.ini', encoding='utf-8')
- configuration = Config()
- for key, value in source.items('alembic'):
- if key != 'here':
- configuration.set_main_option(key, value.replace('%', '%%'))
- if args.operation == 'upgrade':
- command.upgrade(configuration, 'head')
- else:
- command.current(configuration)
|