aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako')
-rw-r--r--.venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako51
1 files changed, 51 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako b/.venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako
new file mode 100644
index 00000000..3caca7bf
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako
@@ -0,0 +1,51 @@
+<%!
+import re
+
+%>"""${message}
+
+Revision ID: ${up_revision}
+Revises: ${down_revision | comma,n}
+Create Date: ${create_date}
+
+"""
+from typing import Sequence, Union
+
+from alembic import op
+import sqlalchemy as sa
+${imports if imports else ""}
+
+# revision identifiers, used by Alembic.
+revision: str = ${repr(up_revision)}
+down_revision: Union[str, None] = ${repr(down_revision)}
+branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)}
+depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)}
+
+
+def upgrade(engine_name: str) -> None:
+ """Upgrade schema."""
+ globals()["upgrade_%s" % engine_name]()
+
+
+def downgrade(engine_name: str) -> None:
+ """Downgrade schema."""
+ globals()["downgrade_%s" % engine_name]()
+
+<%
+ db_names = config.get_main_option("databases")
+%>
+
+## generate an "upgrade_<xyz>() / downgrade_<xyz>()" function
+## for each database name in the ini file.
+
+% for db_name in re.split(r',\s*', db_names):
+
+def upgrade_${db_name}() -> None:
+ """Upgrade ${db_name} schema."""
+ ${context.get("%s_upgrades" % db_name, "pass")}
+
+
+def downgrade_${db_name}() -> None:
+ """Downgrade ${db_name} schema."""
+ ${context.get("%s_downgrades" % db_name, "pass")}
+
+% endfor