()
| 321 | * These database extensions should be optional, so we don't throw or return any problem states when they don't |
| 322 | */ |
| 323 | export async function validateDatabaseExtensions(): Promise<void> { |
| 324 | const logger = useLogger(); |
| 325 | const database = getDatabase(); |
| 326 | const client = getDatabaseClient(database); |
| 327 | const helpers = getHelpers(database); |
| 328 | const geometrySupport = await helpers.st.supported(); |
| 329 | |
| 330 | if (!geometrySupport) { |
| 331 | switch (client) { |
| 332 | case 'postgres': |
| 333 | logger.warn(`PostGIS isn't installed. Geometry type support will be limited.`); |
| 334 | break; |
| 335 | case 'sqlite': |
| 336 | logger.warn(`Spatialite isn't installed. Geometry type support will be limited.`); |
| 337 | break; |
| 338 | default: |
| 339 | logger.warn(`Geometry type not supported on ${client}`); |
| 340 | break; |
| 341 | } |
| 342 | } |
| 343 | } |
| 344 | |
| 345 | async function validateDatabaseCharset(database?: Knex): Promise<void> { |
| 346 | const env = useEnv(); |
no test coverage detected