On Mon, Nov 16, 2020 at 1:16 PM Mike Bayer <[email protected]> wrote:

> schema name for tables is set using the .schema parameter of the Table
> object.
>

yes, Table() is a core concept. I'm more interested in the ORM way of
achieving this.



>
> The docs don't state this at once but you are essentially combining the
> information contained at
> https://docs.sqlalchemy.org/en/13/core/metadata.html#specifying-the-schema-name
>

financial_info = Table('financial_info', meta,

    Column('id', Integer, primary_key=True),
    Column('value', String(100), nullable=False),
    schema='remote_banks'

)

this an example of doing this in core



> with
> https://docs.sqlalchemy.org/en/13/orm/extensions/declarative/table_config.html
> .
>

Regarding some code I read there I have 2 issues:

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()Base.metadata.reflect(some_engine)
class User(Base):
    __table__ = metadata.tables['user']
class Address(Base):

__table__ = metadata.tables['address']

1. why is the code referring to `metadata` when the only thing accessible
is `Base.metadata`
2. where, on this page, would one modify an example so that in one place
you specify the schema for all of your subsequent sql queries? And can you
provide a concrete example of the exact modification?


> you can also set the default .schema for all Table objects at once using
> the
> https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.MetaData.params.schema
> parameter.
>

But with the ORM, all we do is use __tablename__ and __table__args__  ...
is there something about __table_args__ that we change?

Do you think this question qualifies as a FAQ or perhaps update of the
docs? There are plenty of StackOverflow threads where people are asking a
similar question.


>
>
> On Mon, Nov 16, 2020, at 12:36 PM, Terrence-Monroe: Brannon wrote:
>
> I've been using the SA ORM for 3 months simply declaring tables as you see
> here:
>
> https://docs.sqlalchemy.org/en/13/orm/tutorial.html#declare-a-mapping
>
> And then connecting to Oracle via oracle://user:pass@server
> with no problem.
>
> However, today, I was told that my auto-generated queries were failing
> because they were not qualified with the schema name. I.e, even though
>
>     SELECT some_column FROM some_table
>
> was working,  I am now being asked to make the query
>
>    SELECT some_volumn FROM SCHEMA."some_table"
>
> and even though there are docs about specifying the schema for the
> SQLAlchemy core, I dont see similar docs for the ORM.
>
> I found an answer:
>
> https://stackoverflow.com/questions/62165654/set-current-schema-for-oracle-connection-using-sqlalchemy
>
> but I cannot believe that I need to manually issue this sort of query for
> this:
>         session.execute(f"ALTER SESSION SET CURRENT_SCHEMA = {schema!s}")
>
>
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sqlalchemy/2c9b94dc-3477-4a0e-b1a6-e31a229fd04fn%40googlegroups.com
> <https://groups.google.com/d/msgid/sqlalchemy/2c9b94dc-3477-4a0e-b1a6-e31a229fd04fn%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 a topic in the
> Google Groups "sqlalchemy" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sqlalchemy/uYlXQZBBT0g/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sqlalchemy/56131de2-3542-4db7-b374-2b9b196ee577%40www.fastmail.com
> <https://groups.google.com/d/msgid/sqlalchemy/56131de2-3542-4db7-b374-2b9b196ee577%40www.fastmail.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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/CACv_mNSz3rH_rUW5NP5e-LO-SjFKLKPZAgDnxQWsOO%2BDU4OKRA%40mail.gmail.com.

Reply via email to