Geoalchemy2 нельзя перенести и объединить в колбе. ⇐ Python
-
Anonymous
Geoalchemy2 нельзя перенести и объединить в колбе.
из geoalchemy2 импортировать геометрию класс ShopDetail(db.Model): __tablename__ = 'tbl_shop_detail' id = db.Column(BIGINT(unsigned=True), Primary_key=True) location = db.Column(Geometry("POINT")) # 经纬度坐标 защита __repr__(сам): return '' % self.id``` Ошибка при выполнении оператора миграции базы данных. Сообщить об ошибке python Manager.py db init python Manager.py миграция базы данных это информация об ошибке
Сервер инициализирован для потоковой передачи. главное---> ИНФОРМАЦИЯ [alembic.runtime.migration] Контекст, реализованный MySQLImpl. ИНФОРМАЦИЯ [alembic.runtime.migration] Предполагает нетранзакционный DDL. ИНФОРМАЦИЯ [alembic.autogenerate.compare] Обнаружена добавленная таблица «tbl_shop_detail». ИНФОРМАЦИЯ [alembic.autogenerate.compare] Обнаружен добавленный индекс 'idx_tbl_shop_detail_location' в '['location']' миграции/env.py:84: SAWarning: не распознан тип «точка» столбца «местоположение». context.run_migrations() Traceback (последний вызов последний): Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1965, в _exec_single_context self.dialect.do_execute( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py», строка 921, в do_execute курсор.execute(оператор, параметры) Файл "/usr/local/lib/python3.9/site-packages/pymysql/cursors.py", строка 158, выполняется результат = self._query(запрос) Файл «/usr/local/lib/python3.9/site-packages/pymysql/cursors.py», строка 325, в _query conn.query(д) Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 549, в запросе self._affected_rows = self._read_query_result(unbuffered=unbuffered) Файл «/usr/local/lib/python3.9/site-packages/pymysql/connections.py», строка 779, в _read_query_result результат.читать() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 1157, прочитан first_packet = self.connection._read_packet() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 729, в _read_packet package.raise_for_error() Файл «/usr/local/lib/python3.9/site-packages/pymysql/protocol.py», строка 221, в raise_for_error err.raise_mysql_Exception (self._data) Файл «/usr/local/lib/python3.9/site-packages/pymysql/err.py», строка 143, в raise_mysql_Exception. поднять класс ошибок (errno, errval) pymysql.err.OperationalError: (1054, «Неизвестный столбец «SRS_ID» в «списке полей»») Вышеупомянутое исключение было непосредственной причиной следующего исключения: Traceback (последний вызов последний): Файл «/root/workspace/DahuaBackend_member/manager.py», строка 18, в sys.exit(main()) # Поддержка Python Файл «/root/workspace/DahuaBackend_member/manager.py», строка 12, в основном файле. менеджер.run(default_command='runserver') Файл "/usr/local/lib/python3.9/site-packages/flask_script/__init__.py", строка 417, в запуске результат = self.handle(argv[0], argv[1:]) Файл "/usr/local/lib/python3.9/site-packages/flask_script/__init__.py", строка 386, в дескрипторе res = handle(*args, **config) Файл «/usr/local/lib/python3.9/site-packages/flask_script/commands.py», строка 216, в __call__ return self.run(*args, **kwargs) Файл "/usr/local/lib/python3.9/site-packages/flask_migrate/__init__.py", строка 96, в обертке f(*args, **kwargs) Файл "/usr/local/lib/python3.9/site-packages/flask_migrate/__init__.py", строка 210, в миграции command.revision(config, message, autogenerate=True, sql=sql, Файл "/usr/local/lib/python3.9/site-packages/alembic/command.py", строка 236, в редакции script_directory.run_env() Файл «/usr/local/lib/python3.9/site-packages/alembic/script/base.py», строка 582, в run_env util.load_python_file(self.dir, "env.py") Файл «/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py», строка 94, в файле load_python_file. модуль = load_module_py(module_id, путь) Файл «/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py», строка 110, в load_module_py spec.loader.exec_module(модуль) # тип: игнорировать Файл «», строка 850, в exec_module Файл «», строка 228, в _call_with_frames_removed Файл «migrations/env.py», строка 90, в . run_migrations_online() Файл «migrations/env.py», строка 84, в run_migrations_online. context.run_migrations() Файл «», строка 8, в run_migrations Файл «/usr/local/lib/python3.9/site-packages/alembic/runtime/environment.py», строка 928, в run_migrations self.get_context().run_migrations(**kw) Файл «/usr/local/lib/python3.9/site-packages/alembic/runtime/migration.py», строка 615, в run_migrations для шага в self._migrations_fn(heads, self): Файл «/usr/local/lib/python3.9/site-packages/alembic/command.py», строка 212, в извлекаемых_миграциях. ревизия_context.run_autogenerate(ревизия, контекст) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/api.py», строка 562, в run_autogenerate self._run_environment(rev,migration_context, True) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/api.py», строка 609, в _run_environment Compare._populate_migration_script( Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 59, в _populate_migration_script _produce_net_changes (autogen_context, update_ops) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 93, в _produce_net_changes comparators.dispatch("схема", autogen_context.dialect.name)( Файл "/usr/local/lib/python3.9/site-packages/alembic/util/langhelpers.py", строка 269, в пути. fn(*arg, **kw) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 132, в _autogen_for_tables _compare_tables( Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 246, в _compare_tables sqla_compat._reflect_table (инспектор, т) Файл «/usr/local/lib/python3.9/site-packages/alembic/util/sqla_compat.py», строка 308, в _reflect_table вернуть инспектор.reflect_table(таблица, нет) Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/reflection.py", строка 1554, в Reflection_table self._reflect_column( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/reflection.py», строка 1630, в _reflect_column table.dispatch.column_reflect( # тип: игнорировать [определенный атрибутом] Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/event/attr.py", строка 485, в __call__ fn(*args, **kw) Файл «/usr/local/lib/python3.9/site-packages/geoalchemy2/admin/__init__.py», строка 100, в _reflect_geometry_column select_dialect(inspector.bind.dialect.name).reflect_geometry_column( Файл «/usr/local/lib/python3.9/site-packages/geoalchemy2/admin/dialects/mysql.py», строка 41, в Reflect_geometry_column geometry_type, srid, nullable_str = инспектор.bind.execute(текст(geometry_type_query)).one() Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1412, выполняется. вернуть мет( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py», строка 483, в _execute_on_connection вернуть соединение._execute_clauseelement( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py», строка 1635, в _execute_clauseelement ret = self._execute_context( Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1844, в _execute_context вернуть self._exec_single_context( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py», строка 1984, в _exec_single_context self._handle_dbapi_Exception( Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 2339, в _handle_dbapi_Exceptionion поднять sqlalchemy_Exception.with_traceback(exc_info[2]) из e Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1965, в _exec_single_context self.dialect.do_execute( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py», строка 921, в do_execute курсор.execute(оператор, параметры) Файл "/usr/local/lib/python3.9/site-packages/pymysql/cursors.py", строка 158, выполняется результат = self._query(запрос) Файл «/usr/local/lib/python3.9/site-packages/pymysql/cursors.py», строка 325, в _query conn.query(д) Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 549, в запросе self._affected_rows = self._read_query_result(unbuffered=unbuffered) Файл «/usr/local/lib/python3.9/site-packages/pymysql/connections.py», строка 779, в _read_query_result результат.читать() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 1157, прочитан first_packet = self.connection._read_packet() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 729, в _read_packet package.raise_for_error() Файл «/usr/local/lib/python3.9/site-packages/pymysql/protocol.py», строка 221, в raise_for_error err.raise_mysql_Exception (self._data) Файл «/usr/local/lib/python3.9/site-packages/pymysql/err.py», строка 143, в raise_mysql_Exception. поднять класс ошибок (errno, errval) sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1054, «Неизвестный столбец «SRS_ID» в «списке полей»») [SQL: SELECT DATA_TYPE, SRS_ID, IS_NULLABLE ИЗ INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'mt_scale' и COLUMN_NAME = 'location' и table_schema = 'my_test'] Как использовать долготу и широту для расчета расстояния в колбе? Когда я использую geoalchemy2, я получаю сообщение об ошибке при слиянии и переносе базы данных. Как правильно перенести и объединить базу данных?
Использовать Column(Geometry(geometry_type='POINT', srid=4326)) Тоже не хорошо
из geoalchemy2 импортировать геометрию класс ShopDetail(db.Model): __tablename__ = 'tbl_shop_detail' id = db.Column(BIGINT(unsigned=True), Primary_key=True) location = db.Column(Geometry("POINT")) # 经纬度坐标 защита __repr__(сам): return '' % self.id``` Ошибка при выполнении оператора миграции базы данных. Сообщить об ошибке python Manager.py db init python Manager.py миграция базы данных это информация об ошибке
Сервер инициализирован для потоковой передачи. главное---> ИНФОРМАЦИЯ [alembic.runtime.migration] Контекст, реализованный MySQLImpl. ИНФОРМАЦИЯ [alembic.runtime.migration] Предполагает нетранзакционный DDL. ИНФОРМАЦИЯ [alembic.autogenerate.compare] Обнаружена добавленная таблица «tbl_shop_detail». ИНФОРМАЦИЯ [alembic.autogenerate.compare] Обнаружен добавленный индекс 'idx_tbl_shop_detail_location' в '['location']' миграции/env.py:84: SAWarning: не распознан тип «точка» столбца «местоположение». context.run_migrations() Traceback (последний вызов последний): Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1965, в _exec_single_context self.dialect.do_execute( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py», строка 921, в do_execute курсор.execute(оператор, параметры) Файл "/usr/local/lib/python3.9/site-packages/pymysql/cursors.py", строка 158, выполняется результат = self._query(запрос) Файл «/usr/local/lib/python3.9/site-packages/pymysql/cursors.py», строка 325, в _query conn.query(д) Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 549, в запросе self._affected_rows = self._read_query_result(unbuffered=unbuffered) Файл «/usr/local/lib/python3.9/site-packages/pymysql/connections.py», строка 779, в _read_query_result результат.читать() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 1157, прочитан first_packet = self.connection._read_packet() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 729, в _read_packet package.raise_for_error() Файл «/usr/local/lib/python3.9/site-packages/pymysql/protocol.py», строка 221, в raise_for_error err.raise_mysql_Exception (self._data) Файл «/usr/local/lib/python3.9/site-packages/pymysql/err.py», строка 143, в raise_mysql_Exception. поднять класс ошибок (errno, errval) pymysql.err.OperationalError: (1054, «Неизвестный столбец «SRS_ID» в «списке полей»») Вышеупомянутое исключение было непосредственной причиной следующего исключения: Traceback (последний вызов последний): Файл «/root/workspace/DahuaBackend_member/manager.py», строка 18, в sys.exit(main()) # Поддержка Python Файл «/root/workspace/DahuaBackend_member/manager.py», строка 12, в основном файле. менеджер.run(default_command='runserver') Файл "/usr/local/lib/python3.9/site-packages/flask_script/__init__.py", строка 417, в запуске результат = self.handle(argv[0], argv[1:]) Файл "/usr/local/lib/python3.9/site-packages/flask_script/__init__.py", строка 386, в дескрипторе res = handle(*args, **config) Файл «/usr/local/lib/python3.9/site-packages/flask_script/commands.py», строка 216, в __call__ return self.run(*args, **kwargs) Файл "/usr/local/lib/python3.9/site-packages/flask_migrate/__init__.py", строка 96, в обертке f(*args, **kwargs) Файл "/usr/local/lib/python3.9/site-packages/flask_migrate/__init__.py", строка 210, в миграции command.revision(config, message, autogenerate=True, sql=sql, Файл "/usr/local/lib/python3.9/site-packages/alembic/command.py", строка 236, в редакции script_directory.run_env() Файл «/usr/local/lib/python3.9/site-packages/alembic/script/base.py», строка 582, в run_env util.load_python_file(self.dir, "env.py") Файл «/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py», строка 94, в файле load_python_file. модуль = load_module_py(module_id, путь) Файл «/usr/local/lib/python3.9/site-packages/alembic/util/pyfiles.py», строка 110, в load_module_py spec.loader.exec_module(модуль) # тип: игнорировать Файл «», строка 850, в exec_module Файл «», строка 228, в _call_with_frames_removed Файл «migrations/env.py», строка 90, в . run_migrations_online() Файл «migrations/env.py», строка 84, в run_migrations_online. context.run_migrations() Файл «», строка 8, в run_migrations Файл «/usr/local/lib/python3.9/site-packages/alembic/runtime/environment.py», строка 928, в run_migrations self.get_context().run_migrations(**kw) Файл «/usr/local/lib/python3.9/site-packages/alembic/runtime/migration.py», строка 615, в run_migrations для шага в self._migrations_fn(heads, self): Файл «/usr/local/lib/python3.9/site-packages/alembic/command.py», строка 212, в извлекаемых_миграциях. ревизия_context.run_autogenerate(ревизия, контекст) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/api.py», строка 562, в run_autogenerate self._run_environment(rev,migration_context, True) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/api.py», строка 609, в _run_environment Compare._populate_migration_script( Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 59, в _populate_migration_script _produce_net_changes (autogen_context, update_ops) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 93, в _produce_net_changes comparators.dispatch("схема", autogen_context.dialect.name)( Файл "/usr/local/lib/python3.9/site-packages/alembic/util/langhelpers.py", строка 269, в пути. fn(*arg, **kw) Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 132, в _autogen_for_tables _compare_tables( Файл «/usr/local/lib/python3.9/site-packages/alembic/autogenerate/compare.py», строка 246, в _compare_tables sqla_compat._reflect_table (инспектор, т) Файл «/usr/local/lib/python3.9/site-packages/alembic/util/sqla_compat.py», строка 308, в _reflect_table вернуть инспектор.reflect_table(таблица, нет) Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/reflection.py", строка 1554, в Reflection_table self._reflect_column( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/reflection.py», строка 1630, в _reflect_column table.dispatch.column_reflect( # тип: игнорировать [определенный атрибутом] Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/event/attr.py", строка 485, в __call__ fn(*args, **kw) Файл «/usr/local/lib/python3.9/site-packages/geoalchemy2/admin/__init__.py», строка 100, в _reflect_geometry_column select_dialect(inspector.bind.dialect.name).reflect_geometry_column( Файл «/usr/local/lib/python3.9/site-packages/geoalchemy2/admin/dialects/mysql.py», строка 41, в Reflect_geometry_column geometry_type, srid, nullable_str = инспектор.bind.execute(текст(geometry_type_query)).one() Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1412, выполняется. вернуть мет( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py», строка 483, в _execute_on_connection вернуть соединение._execute_clauseelement( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py», строка 1635, в _execute_clauseelement ret = self._execute_context( Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1844, в _execute_context вернуть self._exec_single_context( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py», строка 1984, в _exec_single_context self._handle_dbapi_Exception( Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 2339, в _handle_dbapi_Exceptionion поднять sqlalchemy_Exception.with_traceback(exc_info[2]) из e Файл "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", строка 1965, в _exec_single_context self.dialect.do_execute( Файл «/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py», строка 921, в do_execute курсор.execute(оператор, параметры) Файл "/usr/local/lib/python3.9/site-packages/pymysql/cursors.py", строка 158, выполняется результат = self._query(запрос) Файл «/usr/local/lib/python3.9/site-packages/pymysql/cursors.py», строка 325, в _query conn.query(д) Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 549, в запросе self._affected_rows = self._read_query_result(unbuffered=unbuffered) Файл «/usr/local/lib/python3.9/site-packages/pymysql/connections.py», строка 779, в _read_query_result результат.читать() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 1157, прочитан first_packet = self.connection._read_packet() Файл "/usr/local/lib/python3.9/site-packages/pymysql/connections.py", строка 729, в _read_packet package.raise_for_error() Файл «/usr/local/lib/python3.9/site-packages/pymysql/protocol.py», строка 221, в raise_for_error err.raise_mysql_Exception (self._data) Файл «/usr/local/lib/python3.9/site-packages/pymysql/err.py», строка 143, в raise_mysql_Exception. поднять класс ошибок (errno, errval) sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1054, «Неизвестный столбец «SRS_ID» в «списке полей»») [SQL: SELECT DATA_TYPE, SRS_ID, IS_NULLABLE ИЗ INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'mt_scale' и COLUMN_NAME = 'location' и table_schema = 'my_test'] Как использовать долготу и широту для расчета расстояния в колбе? Когда я использую geoalchemy2, я получаю сообщение об ошибке при слиянии и переносе базы данных. Как правильно перенести и объединить базу данных?
Использовать Column(Geometry(geometry_type='POINT', srid=4326)) Тоже не хорошо
Мобильная версия