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.
