it's pretty doable if you add a new ${thing} to your mako template. getting a 
value in there requires a trick, there's an example of it here: 
https://github.com/sqlalchemy/alembic/issues/686#issuecomment-616828129

which is to put a dictionary inside of another dictionary and pass that as 
"template_args" when you context.configure(); suppose you send it as 
template_args={"my_dictionary": {}}. then anywhere you are, in a render hook, 
in env.py, whatever, put whatever you want in that dictionary. then reference 
in your template as ${my_dictionary['some_value']} .



On Tue, May 5, 2020, at 5:24 PM, Adrian wrote:
> I have a custom type implementing enums (no idea if there's something better 
> now, but it's used in many places so
> replacing it is not an option atm). Currently I'm using render_item to simply 
> import the type and the enum and pass the
> enum to the type and it works fine.
> 
> However, in the alembic revision I'd prefer to define a copy of the enum how 
> it looked like at generation time since it may
> change and in that case running an older revision's upgrade would be broken 
> as it would generate the column based on
> a different enum.
> 
> In any case, I would like to have the enum definition inside my revision 
> file, either top-level or inside `upgrade`. But for neither
> of these options I found any way to do it properly as there doesn't seem to 
> be any way to provide code to be included in
> `upgrade` or variables for the mako template context used to render the 
> revision file.
> 
> I managed to do it using this **incredibly ugly** workaround, but I really 
> hope there's some better way... so if there is one, please
> let me know. Because not adding this abomination in my codebase would be 
> great:
> https://gist.github.com/ThiefMaster/3ad2a35b531ff5cada7d2232333619fa
> 
> Thanks for any help/suggestions!
> 

> --
>  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 view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy/fe2d88a4-f40d-411e-941f-44ceff7fdc9d%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sqlalchemy/fe2d88a4-f40d-411e-941f-44ceff7fdc9d%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/65c1264f-158b-41c9-92b1-95ef4d29ee61%40www.fastmail.com.

Reply via email to