this is https://bitbucket.org/zzzeek/sqlalchemy/issues/4361/mysql-80-fix-likely-breaks-on-case and a patch is working through at https://gerrit.sqlalchemy.org/#/q/I748549bc4c27fad6394593f8ec93fc22bfd01f6c. On Fri, Nov 9, 2018 at 9:57 PM Mike Bayer <[email protected]> wrote: > > OK, it's the filesystem type 2 combined with the fact that the > database is named "Test", capital T, on a case insensitive filesystem. > ill have a fix momentarily. SQLAlhcemy 1.2.12 will work for you for > now, just skip 1.2.13. > On Fri, Nov 9, 2018 at 7:57 PM <[email protected]> wrote: > > > > I forgot to mention that I'm using all lowercase names for my tables and > > columns. The primary keys are all "id" > > BTW I ran the command and got this result: > > > > mysql> show variables like 'lower_case_table_names'; > > +------------------------+-------+ > > | Variable_name | Value | > > +------------------------+-------+ > > | lower_case_table_names | 2 | > > +------------------------+-------+ > > 1 row in set (0.00 sec) > > > > > > > > On Thursday, November 8, 2018 at 11:17:12 PM UTC+8, Mike Bayer wrote: > >> > >> What operating system platform are you on ? > >> > >> can you run this for me please? > >> > >> MariaDB [(none)]> show variables like 'lower_case_table_names'; > >> +------------------------+-------+ > >> | Variable_name | Value | > >> +------------------------+-------+ > >> | lower_case_table_names | 0 | > >> +------------------------+-------+ > >> 1 row in set (0.00 sec) > >> > >> > >> On Thu, Nov 8, 2018 at 10:10 AM Mike Bayer <[email protected]> wrote: > >> > > >> > easier, if you can give me a "SHOW CREATE TABLE" for a table here that > >> > has foreign key constraints and refers to a column named "id", "ID", > >> > "iD", something with those two letters in it. > >> > On Thu, Nov 8, 2018 at 9:58 AM Mike Bayer <[email protected]> > >> > wrote: > >> > > > >> > > On Thu, Nov 8, 2018 at 9:56 AM Mike Bayer <[email protected]> > >> > > wrote: > >> > > > > >> > > > On Thu, Nov 8, 2018 at 3:36 AM <[email protected]> wrote: > >> > > > > > >> > > > > Hi > >> > > > > > >> > > > > I had a problem with alembic autogenerate after updating to > >> > > > > version 1.0.2. I'm running MySQL 8.0.11 and Python 3.7.1 > >> > > > > No matter how my base is defined, I always get the same error. I > >> > > > > went through the error and found out it comes from function " > >> > > > > >> > > > Did you also update SQLAlchemy version? The check you see has to do > >> > > > with SQLAlchemy version 1.2.13. Can you confirm that using > >> > > > SQLAlchemy > >> > > > 1.2.12 resolves the issue? I can work towards making this check more > >> > > > defensive. Additionally let me run the tests on MySQL 8 to see if > >> > > > I'm missing something. > >> > > > >> > > no failures here, can you please provide a sample database model that > >> > > produces this error? > >> > > > >> > > > > >> > > > > >> > > > > > >> > > > > _correct_for_mysql_bug_88718(self, fkeys, connection)" in module > >> > > > > "base.py" with this explaination: > >> > > > > > >> > > > > # Foreign key is always in lower case (MySQL 8.0) > >> > > > > # https://bugs.mysql.com/bug.php?id=88718 > >> > > > > # issue #4344 for SQLAlchemy > >> > > > > > >> > > > > > >> > > > > This is log of error: > >> > > > > > >> > > > > INFO [alembic.runtime.migration] Context impl MySQLImpl. > >> > > > > INFO [alembic.runtime.migration] Will assume non-transactional > >> > > > > DDL. > >> > > > > Traceback (most recent call last): > >> > > > > File "---/venv/bin/alembic", line 11, in <module> > >> > > > > load_entry_point('alembic==1.0.2', 'console_scripts', > >> > > > > 'alembic')() > >> > > > > File "---/venv/lib/python3.7/site-packages/alembic/config.py", > >> > > > > line 502, in main > >> > > > > CommandLine(prog=prog).main(argv=argv) > >> > > > > File "---/venv/lib/python3.7/site-packages/alembic/config.py", > >> > > > > line 496, in main > >> > > > > self.run_cmd(cfg, options) > >> > > > > File "---/venv/lib/python3.7/site-packages/alembic/config.py", > >> > > > > line 479, in run_cmd > >> > > > > **dict((k, getattr(options, k, None)) for k in kwarg) > >> > > > > File "---/venv/lib/python3.7/site-packages/alembic/command.py", > >> > > > > line 176, in revision > >> > > > > script_directory.run_env() > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/script/base.py", > >> > > > > line 427, in run_env > >> > > > > util.load_python_file(self.dir, 'env.py') > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/util/pyfiles.py", > >> > > > > line 81, in load_python_file > >> > > > > module = load_module_py(module_id, path) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/util/compat.py", > >> > > > > line 82, in load_module_py > >> > > > > spec.loader.exec_module(module) > >> > > > > File "<frozen importlib._bootstrap_external>", line 728, in > >> > > > > exec_module > >> > > > > File "<frozen importlib._bootstrap>", line 219, in > >> > > > > _call_with_frames_removed > >> > > > > File "alembic/env.py", line 75, in <module> > >> > > > > run_migrations_online() > >> > > > > File "alembic/env.py", line 70, in run_migrations_online > >> > > > > context.run_migrations() > >> > > > > File "<string>", line 8, in run_migrations > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/runtime/environment.py", > >> > > > > line 836, in run_migrations > >> > > > > self.get_context().run_migrations(**kw) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/runtime/migration.py", > >> > > > > line 321, in run_migrations > >> > > > > for step in self._migrations_fn(heads, self): > >> > > > > File "---/venv/lib/python3.7/site-packages/alembic/command.py", > >> > > > > line 156, in retrieve_migrations > >> > > > > revision_context.run_autogenerate(rev, context) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/autogenerate/api.py", > >> > > > > line 415, in run_autogenerate > >> > > > > self._run_environment(rev, migration_context, True) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/autogenerate/api.py", > >> > > > > line 451, in _run_environment > >> > > > > autogen_context, migration_script) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/autogenerate/compare.py", > >> > > > > line 22, in _populate_migration_script > >> > > > > _produce_net_changes(autogen_context, upgrade_ops) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/autogenerate/compare.py", > >> > > > > line 48, in _produce_net_changes > >> > > > > autogen_context, upgrade_ops, schemas > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/util/langhelpers.py", > >> > > > > line 313, in go > >> > > > > fn(*arg, **kw) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/autogenerate/compare.py", > >> > > > > line 75, in _autogen_for_tables > >> > > > > inspector, upgrade_ops, autogen_context) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/alembic/autogenerate/compare.py", > >> > > > > line 137, in _compare_tables > >> > > > > inspector.reflecttable(t, None) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/sqlalchemy/engine/reflection.py", > >> > > > > line 633, in reflecttable > >> > > > > exclude_columns, _extend_on, reflection_options) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/sqlalchemy/engine/reflection.py", > >> > > > > line 729, in _reflect_fk > >> > > > > table_name, schema, **table.dialect_kwargs) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/sqlalchemy/engine/reflection.py", > >> > > > > line 447, in get_foreign_keys > >> > > > > **kw) > >> > > > > File "<string>", line 2, in get_foreign_keys > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/sqlalchemy/engine/reflection.py", > >> > > > > line 54, in cache > >> > > > > ret = fn(self, con, *args, **kw) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/sqlalchemy/dialects/mysql/base.py", > >> > > > > line 2081, in get_foreign_keys > >> > > > > self._correct_for_mysql_bug_88718(fkeys, connection) > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/sqlalchemy/dialects/mysql/base.py", > >> > > > > line 2126, in _correct_for_mysql_bug_88718 > >> > > > > for col in fkey['referred_columns'] > >> > > > > File > >> > > > > "---/venv/lib/python3.7/site-packages/sqlalchemy/dialects/mysql/base.py", > >> > > > > line 2126, in <listcomp> > >> > > > > for col in fkey['referred_columns'] > >> > > > > KeyError: 'id' > >> > > > > > >> > > > > -- > >> > > > > 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 post to this group, send email to [email protected]. > >> > > > > Visit this group at https://groups.google.com/group/sqlalchemy. > >> > > > > For more options, visit https://groups.google.com/d/optout. > > > > -- > > 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 post to this group, send email to [email protected]. > > Visit this group at https://groups.google.com/group/sqlalchemy. > > For more options, visit https://groups.google.com/d/optout.
-- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.
