Ich habe mal meine eine Tabelle testweise modifiziert:
Code: Alles auswählen
class FilmProductionCompany(Base):
__tablename__ = "film_production_company"
id = Column(Integer, primary_key = True, unique = True, autoincrement = True)
production_company = Column(String(100, collation='utf8_bin'), nullable = False, unique = True)
Das Ergebnis seht ihr dann im TraceBack:
File "D:\Dan\Python\Xarphus\xarphus\frm_db_login.py", line 133, in log_in_db
admin_database=self.admin_database) as engine:
File "D:\Dan\Python\Xarphus\xarphus\core\managed_engine.py", line 54, in __init__
self.check_adminsitrate_database()
File "D:\Dan\Python\Xarphus\xarphus\core\managed_engine.py", line 137, in check_adminsitrate_database
self.data_base_exists()
File "D:\Dan\Python\Xarphus\xarphus\core\managed_engine.py", line 158, in data_base_exists
self.create_data_base()
File "D:\Dan\Python\Xarphus\xarphus\core\managed_engine.py", line 100, in create_data_base
self.create_tables(connection_obj=conn_obj)
File "D:\Dan\Python\Xarphus\xarphus\core\managed_engine.py", line 80, in create_tables
Base.metadata.create_all(connection_obj)
File "build\bdist.win32\egg\sqlalchemy\sql\schema.py", line 3934, in create_all
tables=tables)
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1538, in _run_visitor
**kwargs).traverse_single(element)
File "build\bdist.win32\egg\sqlalchemy\sql\visitors.py", line 121, in traverse_single
return meth(obj, **kw)
File "build\bdist.win32\egg\sqlalchemy\sql\ddl.py", line 733, in visit_metadata
_is_metadata_operation=True)
File "build\bdist.win32\egg\sqlalchemy\sql\visitors.py", line 121, in traverse_single
return meth(obj, **kw)
File "build\bdist.win32\egg\sqlalchemy\sql\ddl.py", line 767, in visit_table
include_foreign_key_constraints=include_foreign_key_constraints
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 945, in execute
return meth(self, multiparams, params)
File "build\bdist.win32\egg\sqlalchemy\sql\ddl.py", line 68, in _execute_on_connection
return connection._execute_ddl(self, multiparams, params)
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1002, in _execute_ddl
compiled
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1189, in _execute_context
context)
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1402, in _handle_dbapi_exception
exc_info
File "build\bdist.win32\egg\sqlalchemy\util\compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "build\bdist.win32\egg\sqlalchemy\engine\base.py", line 1182, in _execute_context
context)
File "build\bdist.win32\egg\sqlalchemy\engine\default.py", line 470, in do_execute
cursor.execute(statement, parameters)
OperationalError: (sqlite3.OperationalError) no such collation sequence: utf8_bin [SQL: u'\nCREATE TABLE film_production_company (\n\tid INTEGER NOT NULL, \n\tproduction_company VARCHAR(100) COLLATE "utf8_bin" NOT NULL, \n\tPRIMARY KEY (id), \n\tUNIQUE (id), \n\tUNIQUE (production_company)\n)\n\n']