Hello, I'm trying to create a revision programatically with the operations also made programatically. I've been trying this hackish approach below, which I now think probably isn't the right way to go due to the internals of AutogenContext, which seems required for rendering.
Here's what I have so far: upgrade_ops = UpgradeOps([CreateTableOp.from_table(model.__table__)]) downgrade_ops = DowngradeOps([DropTableOp.from_table(model.__table__)]) command_args = dict( message="create table " + tname, autogenerate=False, sql=False, head="head", splice=False, branch_label=None, version_path=None, rev_id=rev_id(), depends_on=None ) script_args = {k:v for k, v in command_args.items() if k != "sql" and k != "autogenerate"} migration_script = MigrationScript(upgrade_ops=upgrade_ops, downgrade_ops=downgrade_ops, **script_args) migration_script._needs_render = True ini_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../alembic.ini')) config = Config(ini_path, ini_section=table['schema']) script_directory=ScriptDirectory.from_config(config) revision = RevisionContext(config, script_directory, command_args) revision._last_autogen_context = SimpleNamespace(imports=set()) revision._to_script(migration_script) My other thought is to use EnvironmentContext and run a full automigration with include_object set to something like lambda o: o is model.__table__ Doing the full automigration seems overkill, but if it's considerably easier then it's preferable. If I go this route It's not clear to me how to avoid env.py and instead run this other context with the new include_object. Any help would be appreciated. Zac -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.