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.

Reply via email to