MySQL · 797 bytes Raw Blame History
1 -- SPDX-License-Identifier: AGPL-3.0-or-later
2 --
3 -- Postgres extensions used by S28 search:
4 -- pg_trgm — trigram similarity for code identifiers and substring
5 -- match where the FTS tokenizer breaks down (camelCase,
6 -- snake_case, mixed-language code).
7 -- unaccent — strips Latin diacritics so "café" matches "cafe" in
8 -- human-name search.
9 --
10 -- Both ship with PostgreSQL contrib; no external server required.
11
12 -- +goose Up
13 CREATE EXTENSION IF NOT EXISTS pg_trgm;
14 CREATE EXTENSION IF NOT EXISTS unaccent;
15
16 -- +goose Down
17 -- We don't drop the extensions on rollback — other migrations may
18 -- have started depending on them, and DROP EXTENSION cascades to
19 -- dependent objects. Leave them installed; the pure cost is one
20 -- catalog row each.
21