-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathalembic.ini
More file actions
92 lines (72 loc) · 2.3 KB
/
Copy pathalembic.ini
File metadata and controls
92 lines (72 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Alembic Configuration File
# For async SQLAlchemy with SQLModel
# Docs: https://alembic.sqlalchemy.org/en/latest/
[alembic]
# Path to migration scripts
script_location = alembic
# Template used to generate migration files
# Format: YYYYMMDD_HHMMSS_revision_slug
# This makes migrations chronologically sortable and human-readable
file_template = %%(year)d%%(month).2d%%(day).2d_%%(hour).2d%%(minute).2d%%(second).2d_%%(rev)s_%%(slug)s
# Truncate revision hashes to this length (40 chars recommended for readability)
truncate_slug_length = 40
# Prepend revision directive to timestamp
# Set to false if you want timestamp first in filename
prepend_sys_path = .
# Set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
revision_environment = false
# Set to 'true' to allow .pyc and .pyo files without
# a source .py file to be detected as revisions in the
# versions/ directory
sourceless = false
# Version path separator
version_path_separator = os
# Output encoding used when revision files are written
output_encoding = utf-8
# Timezone for migration timestamps (UTC recommended)
timezone = UTC
# SQLAlchemy URL - MUST be overridden via environment variable
# Set DATABASE__URL or DATABASE_URL environment variable for actual connections
# This placeholder is intentionally invalid to prevent accidental use
# SECURITY: Never commit real credentials here
sqlalchemy.url = postgresql+asyncpg://localhost/placeholder_override_via_env
[post_write_hooks]
# Auto-format generated migrations with ruff
# This ensures consistent code style in migration files
hooks = ruff
ruff.type = exec
ruff.executable = ruff
ruff.options = format REVISION_SCRIPT_FILENAME
# Alternative: Use multiple hooks
# hooks = ruff,mypy
# mypy.type = exec
# mypy.executable = mypy
# mypy.options = REVISION_SCRIPT_FILENAME
# Logging configuration
[loggers]
keys = root,sqlalchemy,alembic
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = WARN
handlers = console
qualname =
[logger_sqlalchemy]
level = WARN
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