--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-alem...@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy-alembic/5d4bf2d1f07e6958f94ee08d941db96c96fd91f0.camel%40us.ibm.com.
Thanks mike!I understand that it should work when querying over SQLAlchemy API. the missing part of my use case I forgot to provide is, it only uses Alembic/SQLAlchemy to manage schema changes, while the actual query may comes from other query engine like a dashboard, a desktop DB client or a notebook where data scientists knows SQL only, the name cases would force user to remember such convention from DB design (unpleasant part when switching RDBMS).
A simple question is, if it already created tables via Alembic migration with uppercase table names,
is there any API in Alembic simply support the statement like `ALTER TABLE XXX_YYY_ZZZ RENAME TO xxx_yyy_zzz`? Since I noticed that the revision autogenerate is not sensitive to table name. should I manually create a revision for postgres only?
On Monday, January 4, 2021 at 6:57:33 PM UTC-5 mik...@zzzcomputing.com wrote:This is the casing convention of the database and SQLAlchemy does not consider the name to be in "uppercase" or "lowercase" (or even "mixed case") but rather "case insensitive", which really means the name is referred towards without any quoting. When no quoting is applied, there is essentially no "casing" at all to the identifier that is stored by the database.When you refer to the table name in SQLAlchemy, such as in a Table() object, or in Alembic as in op.create_table(), refer to it as all lower case at all times in the Python code- this indicates to SQLAlchemy that this is a case insensitive name and should not be quoted (as long as it has no special characters, spaces, etc). SQLAlchemy will automatically render the name without quotes in DDL, DML and DQL, and render it as UPPERCASE when it queries DB2's catalogs, and as lower case when it queries PostgreSQL's catalogs.The use case is migrating data from a Db2 instance (where schema is notmanaged under Alembic migration) to a postgresql instance (where I planto manage schema via Alembic).In Db2, by default, it stores unquoted mixed case identifiers inUppercase. While the postgres I got it stores unquoted mixed caseindetifiers in lowercase. So If I plan to keep such convention inpostgres (store unquoted mixed case identifiers like table name inlowercase), what's the suggested practice to migrate an existing tablelike "XXX_YYY_ZZZ" to "xxx_yyy_zzz"?--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-alem...@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy-alembic/5d4bf2d1f07e6958f94ee08d941db96c96fd91f0.camel%40us.ibm.com.
--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-alem...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy-alembic/ca3b7c29-5309-4292-85bd-f64c6330da15n%40googlegroups.com.