Thank you, Mike. In my case, I am writing a TRUNCATE TABLE statement. I don't think SQLAlchemy provides that so I'm writing it in text and having the engine execute it rather than having SQLAlchemy generate it. Are you recommending, therefore, that I not use the *fullname* attribute for this?
On Tuesday, December 22, 2020 at 1:17:59 PM UTC-5 Mike Bayer wrote: > the .fullname attribute is not used directly in SQL statements, when a > schema or table name requires quoting the compiler will apply them as > needed. > > from sqlalchemy import Column > from sqlalchemy import String > from sqlalchemy.dialects import mysql > from sqlalchemy.ext.declarative import declarative_base > from sqlalchemy.orm import Session > > Base = declarative_base() > > > class SomeTable(Base): > __tablename__ = "3table" > > id = Column(String, primary_key=True) > > __table_args__ = {"schema": "4schema"} > > > s = Session() > > print(s.query(SomeTable).statement.compile(dialect=mysql.dialect())) > > output: > > SELECT `4schema`.`3table`.id > FROM `4schema`.`3table` > > > > > On Tue, Dec 22, 2020, at 12:35 PM, Benjamin Taub wrote: > > schema.py defines a variable fullname for tables as follows: > > *if *self.schema *is not None*: > self.fullname = *"%s.%s" *% (self.schema, self.name) > *else*: > self.fullname = self.name > > However, this fails for me in some cases, apparently when my table or > schema name starts with a number. To address this, shouldn't self.fullname > be surrounded by delimiters (e.g. "`%s`.`%s`")? > > FWIW, I'm working in MySQL. > > Thanks! > Ben > > > -- > 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+...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/4c572cf3-992a-4527-a2a9-500bc48170e5n%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/4c572cf3-992a-4527-a2a9-500bc48170e5n%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/22f5f83d-0d53-4922-83e0-24ac9af778acn%40googlegroups.com.