How can this PostgreSQL query:
CREATE INDEX idx_lu_suggest_street_query_street ON fr_suggest_street_query (lower(f_unaccent(street))) INCLUDE (street);
be written in sqlalchemy? So far I tried:
Index(
"idx_suggest_street_street",
sa.func.lower(sa.func.f_unaccent("street")).label("street"),
postgresql_ops={
"street": "text_pattern_ops",
},
)
But I am missing the INCLUDE part, how can I achieve this?
UPDATE: I achieved the INCLUDE part using
postgresql_include=["street"],
Still when I am running:
SELECT
indexname,
indexdef
FROM
pg_indexes
WHERE
tablename = 'lu_suggest_street_query';
The index that is created using sqlalchemy looks like:
CREATE INDEX idx_suggest_street_street_text_pattern ON public.lu_suggest_street_query USING btree (lower(f_unaccent('street'::text))) INCLUDE (street)
But it should be:
CREATE INDEX idx_suggest_street_street_text_pattern ON public.lu_suggest_street_query USING btree (lower(f_unaccent((street)::text))) INCLUDE (street)
I need to mention that I am using sqlalchemy declarative metadata.