Пространственный индекс MySQL с sqlalchemy?

В документации по sqlalchemy есть хороший пример того, как определить и использовать столбец Geometry в sqlalchemy:

http://docs.sqlalchemy.org/en/rel_0_9/core/types.html#applying-sql-level-bind-result-processing

Однако пространственные индексы нигде в документах не упоминаются. Итак, как я могу определить SPATIAL INDEX с помощью sqlalchemy?

P.S. Об этом уже есть старый вопрос: Есть ли удобный способ создать пространственный индекс с помощью Sqlalchemy или Geoalchemy?, но я отказываюсь использовать GeoAlchemy, от которой два года назад отказались "на ранней стадии разработки", так что это другой вопрос , Наверное.


person letitbee    schedule 11.04.2014    source источник


Ответы (1)


просто выполните для него DDL:

 engine.execute("CREATE SPATIAL INDEX sp_index ON geom (g)")

если вы хотите связать эту команду с какой-либо таблицей, используйте DDL:

from sqlalchemy import event, DDL

event.listen(some_table, 'after_create', DDL("CREATE SPATIAL INDEX sp_index ON geom (g)"))     
person zzzeek    schedule 12.04.2014
comment
Конечно, это то, что я сделал после исследования событий. Разве это не должно быть специфичной для mysql опцией для Index? - person letitbee; 14.04.2014