PostGIS avec le service PaaS Heroku

Objectif : déployer une app Heroku avec PHP et PostgreSQL avec l'extension PostGIS

Démarche en 4 étapes :

Suivre les étapes Introduction, Set up, Prepare the app, Deploy the app de Getting Started on Heroku with PHP https://devcenter.heroku.com/articles/getting-started-with-php#introduction

suivre aussi l'étape Push local changes, mais à la place de l'utilisation de Cowsay, on propose plutôt de simplement ajouter un script PHP qui exécute la fonction phpinfo() --- l'appel de ce script dans un navigateur vous permettra de savoir plus sur la configuration PHP avec Heroku

l'étape Provision a database est remplacée par l'exécution de la commande (attache et initialise une base de données Postgresql à l'application PHP)

heroku addons:create heroku-postgresql

Accéder au tableau de bord Heroku Data - https://data.heroku.com

sélectionner la BD que vous venez de créer qui se rattache à votre application PHP

l'onglet Settings montre les informations d'identification pour les connexions manuelles à cette base de données (host URL, dbname, user, password)

Choisir un outil console SQL pour se connecter à PostgreSQL

avec l'application pgAdmin3 - https://www.pgadmin.org/ (suivre alors au point n°4)

OU avec psql dans un shell interactif (bash) :

dans le dossier local de votre app heroku, lancer

heroku run bash

après connexion, à l'invite de commande bash, lancer

psql -U #heroku_dbuser# -h #heroku_dbhost.amazonaws.com# -d #dbname#

à l'invite de commande psql, saisir une commande

select postgis_version(); # for informations about installed PostGIS
\h # for help with SQL commands
\? # for help with psql commands

Ajouter l'extension PostGIS à la base - https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search#postgis

exécuter simplement la commande SQL ci-dessous

create extension postgis

voyez l'apparition de nouvelles tables et vues (commande psql \d en shell interactif ou faire un refresh dans pgAdmin)