Skip to content

A simple Directus hook to load the SpatialLite extension into SQLite on each connection

License

Notifications You must be signed in to change notification settings

joggienl/directus-hook-sqlite-spatialite

Repository files navigation

Spatialite Extension

If you want to use GEO functions inside directus and are using SQLite as your database backend, you need the SpatiaLite extension for SQLite.

screenshot

This Directus extension will load the module into the database (it will add it to every connection, that is the way how it works for SQLite).

Warning

If used in conjunction with the directus-hook-sqlite-perf extension, it is possible that if you have more connections in your database pool, loading of the spatialite extension happens a little to late. If this happens you'll get an error. Most of the time it will work when you retry saving.

If this is an issue: set DB_POOL__MAX to 1!

Note that your Directus backend will need the library to be installed. If you are using the official docker image you can easily build your own image with the library included.

FROM directus/directus:11.0.2

## Install SQLite SpatiaLite: extend the SQLite core to support fully fledged Spatial SQL
## capabilities.
## https://pkgs.alpinelinux.org/package/edge/community/x86/libspatialite

USER root
RUN <<EOF
  apk --no-cache add libspatialite
  ln -s mod_spatialite.so.8 /usr/lib/mod_spatialite
EOF
USER node

Some additional notes

This extension is inspired on the links in the list below.

About

A simple Directus hook to load the SpatialLite extension into SQLite on each connection

Resources

License

Stars

Watchers

Forks

Packages

No packages published