summaryrefslogtreecommitdiff
path: root/alembic/templates
diff options
context:
space:
mode:
authorBryce Lohr <bryce.lohr@gmail.com>2012-04-27 00:47:14 -0400
committerBryce Lohr <bryce.lohr@gmail.com>2012-04-27 00:47:14 -0400
commit71f51f67ac9de9b1897a7ae889f6f6a0cf1c0c81 (patch)
tree587cfcf4002a59b46c2ffc0ac2b6c00b43294eca /alembic/templates
parentf1eba2bc04486bbc73249924cc057298006904ad (diff)
downloadalembic-71f51f67ac9de9b1897a7ae889f6f6a0cf1c0c81.tar.gz
Updated the 'revision' command to pass the current Alembic config to the script templates, so it could use it to generate blocks based on current config. Useful for multidb configurations, where you want each database accounted for in the migrations.
Diffstat (limited to 'alembic/templates')
-rw-r--r--alembic/templates/multidb/script.py.mako18
1 files changed, 12 insertions, 6 deletions
diff --git a/alembic/templates/multidb/script.py.mako b/alembic/templates/multidb/script.py.mako
index 7aef96f..582492b 100644
--- a/alembic/templates/multidb/script.py.mako
+++ b/alembic/templates/multidb/script.py.mako
@@ -1,4 +1,7 @@
-"""${message}
+<%!
+import re
+
+%>"""${message}
Revision ID: ${up_revision}
Revises: ${down_revision}
@@ -21,14 +24,17 @@ def upgrade(engine_name):
def downgrade(engine_name):
eval("downgrade_%s" % engine_name)()
+<%
+ db_names = context.get("config").get_main_option("databases")
+%>
-% for engine in ["engine1", "engine2"]:
+% for db_name in re.split(r',\s*', db_names):
-def upgrade_${engine}():
- ${context.get("%s_upgrades" % engine, "pass")}
+def upgrade_${db_name}():
+ ${context.get("%s_upgrades" % db_name, "pass")}
-def downgrade_${engine}():
- ${context.get("%s_downgrades" % engine, "pass")}
+def downgrade_${db_name}():
+ ${context.get("%s_downgrades" % db_name, "pass")}
% endfor