at main 4.8 kB view raw
1# A generic, single database configuration. 2 3[alembic] 4# path to migration scripts. 5# this is typically a path given in POSIX (e.g. forward slashes) 6# format, relative to the token %(here)s which refers to the location of this 7# ini file 8script_location = %(here)s/alembic 9 10# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s 11# Uncomment the line below if you want the files to be prepended with date and time 12# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file 13# for all available tokens 14file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d%%(second).2d_%%(rev)s_%%(slug)s 15 16# sys.path path, will be prepended to sys.path if present. 17# defaults to the current working directory. for multiple paths, the path separator 18# is defined by "path_separator" below. 19prepend_sys_path = . 20 21 22# timezone to use when rendering the date within the migration file 23# as well as the filename. 24# If specified, requires the tzdata library which can be installed by adding 25# `alembic[tz]` to the pip requirements. 26# string value is passed to ZoneInfo() 27# leave blank for localtime 28# timezone = 29 30# max length of characters to apply to the "slug" field 31# truncate_slug_length = 40 32 33# set to 'true' to run the environment during 34# the 'revision' command, regardless of autogenerate 35# revision_environment = false 36 37# set to 'true' to allow .pyc and .pyo files without 38# a source .py file to be detected as revisions in the 39# versions/ directory 40# sourceless = false 41 42# version location specification; This defaults 43# to <script_location>/versions. When using multiple version 44# directories, initial revisions must be specified with --version-path. 45# The path separator used here should be the separator specified by "path_separator" 46# below. 47# version_locations = %(here)s/bar:%(here)s/bat:%(here)s/alembic/versions 48 49# path_separator; This indicates what character is used to split lists of file 50# paths, including version_locations and prepend_sys_path within configparser 51# files such as alembic.ini. 52# The default rendered in new alembic.ini files is "os", which uses os.pathsep 53# to provide os-dependent path splitting. 54# 55# Note that in order to support legacy alembic.ini files, this default does NOT 56# take place if path_separator is not present in alembic.ini. If this 57# option is omitted entirely, fallback logic is as follows: 58# 59# 1. Parsing of the version_locations option falls back to using the legacy 60# "version_path_separator" key, which if absent then falls back to the legacy 61# behavior of splitting on spaces and/or commas. 62# 2. Parsing of the prepend_sys_path option falls back to the legacy 63# behavior of splitting on spaces, commas, or colons. 64# 65# Valid values for path_separator are: 66# 67# path_separator = : 68# path_separator = ; 69# path_separator = space 70# path_separator = newline 71# 72# Use os.pathsep. Default configuration used for new projects. 73path_separator = os 74 75# set to 'true' to search source files recursively 76# in each "version_locations" directory 77# new in Alembic version 1.10 78# recursive_version_locations = false 79 80# the output encoding used when revision files 81# are written from script.py.mako 82# output_encoding = utf-8 83 84# database URL. This is consumed by the user-maintained env.py script only. 85# other means of configuring database URLs may be customized within the env.py 86# file. 87sqlalchemy.url = driver://user:pass@localhost/dbname 88 89 90[post_write_hooks] 91# post_write_hooks defines scripts or Python functions that are run 92# on newly generated revision scripts. See the documentation for further 93# detail and examples 94 95# format using "black" - use the console_scripts runner, against the "black" entrypoint 96# hooks = black 97# black.type = console_scripts 98# black.entrypoint = black 99# black.options = -l 79 REVISION_SCRIPT_FILENAME 100 101# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module 102# hooks = ruff 103# ruff.type = module 104# ruff.module = ruff 105# ruff.options = check --fix REVISION_SCRIPT_FILENAME 106 107# Alternatively, use the exec runner to execute a binary found on your PATH 108# hooks = ruff 109# ruff.type = exec 110# ruff.executable = ruff 111# ruff.options = check --fix REVISION_SCRIPT_FILENAME 112 113# Logging configuration. This is also consumed by the user-maintained 114# env.py script only. 115[loggers] 116keys = root,sqlalchemy,alembic 117 118[handlers] 119keys = console 120 121[formatters] 122keys = generic 123 124[logger_root] 125level = WARNING 126handlers = console 127qualname = 128 129[logger_sqlalchemy] 130level = WARNING 131handlers = 132qualname = sqlalchemy.engine 133 134[logger_alembic] 135level = INFO 136handlers = 137qualname = alembic 138 139[handler_console] 140class = StreamHandler 141args = (sys.stderr,) 142level = NOTSET 143formatter = generic 144 145[formatter_generic] 146format = %(levelname)-5.5s [%(name)s] %(message)s 147datefmt = %H:%M:%S