so let me get this straight:

1. you have many schemas

2. you want to run autogenerate only once

3. you want your mirations genrated with None for schema

4. *HOWEVER*, when you run autogenerate, you are picking *one* (random? 
arbitrary?) schema to use as the target, is that right?

As it stands, your autogenerate is not going to look in any schema except 
"public", assuming default PG search path, because you did not set 
"include_schemas=True".

If you truly want autogenerate to look at one schema and only that schema, and 
generate everything as non-schema qualified, then I would simply set the 
default schema in PG to that schema name using search_path:

connection.execute("SET search_path TO my_schema")

that way everything Alembic reflects will be from "my_schema" and it will see 
the schema as blank, and it should generate as such. you might need to disable 
the schema translate map when autogenerate runs but try it without doing that 
first.




On Thu, Mar 19, 2020, at 7:09 PM, Brian Hill wrote:
> Here's my env.py. Thanks for the help.
> Brian
> 
> On Thursday, March 19, 2020 at 5:37:38 PM UTC-4, Mike Bayer wrote:
>> 
>> 
>> On Thu, Mar 19, 2020, at 5:30 PM, Brian Hill wrote:
>>> Are there known issues with using autogenerate with multi-tenant 
>>> (schema_translate_map)?
>> 
>> it's complicated and not one-size-fits-all, if you consider that to be an 
>> issue
>> 
>> 
>>> 
>>> My metadata doesn't have a schema and I my 
>>> schema_translate_map={None:'my_schema'}.
>>> 
>>> This works for migrations but when I use autogenerate the generated 
>>> revision file is the full schema and not the diff.
>>> 
>>> It's detecting the alembic version table in the tenant schema. If I run the 
>>> autogenerate a second time with the new revision file it fails saying Taget 
>>> database is not up to date.
>> 
>> are you setting include_schemas=True in your environment? I'd probably not 
>> do this. Can't help much more without a complete and concise working example 
>> of your env.py, please remove all extraneous details.
>> 
>> 
>>> 
>>> Thanks,
>>> 
>>> Brian
>>> 

>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "sqlalchemy-alembic" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to sqlalchemy-alembic+unsubscr...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sqlalchemy-alembic/5011240c-ba09-4423-9a05-0e6d2481dadf%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/sqlalchemy-alembic/5011240c-ba09-4423-9a05-0e6d2481dadf%40googlegroups.com?utm_medium=email&utm_source=footer>.
>> 
> 

> --
>  You received this message because you are subscribed to the Google Groups 
> "sqlalchemy-alembic" group.
>  To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy-alembic+unsubscr...@googlegroups.com.
>  To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy-alembic/fe6fddb4-25d6-4dd1-be3a-c1a174548bb4%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sqlalchemy-alembic/fe6fddb4-25d6-4dd1-be3a-c1a174548bb4%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> 
> *Attachments:*
>  * env.py

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy-alembic" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy-alembic+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy-alembic/ffbe8e89-9568-48e4-a2bc-bc5042efd620%40www.fastmail.com.

Reply via email to