Skip to content

Commit

Permalink
Github action - install debian12 - Simplification install_db.sh (PnX-…
Browse files Browse the repository at this point in the history
…SI#582)

* test gitub action

* update: install_db.sh install_env.sh requirements.txt

install_db.sh => work without geonature (geonature-atlas alone)
install_env.sh => add wget + use python3
requirements.txt => update greenlet

* Update and clean requirements

* Correction installation et maj de la BD

* Clean install without ref_geo

* fix: migration script to update vm_observations_mailles (PnX-SI#581)

* Run pqsql with db owner not postgres

* Suppression de l'installation sans taxhub + simplification installation sans ref_geo

* Remove unused lib requirements.in

---------

Co-authored-by: Joaquim Nallar <[email protected]>
Co-authored-by: jna <[email protected]>
  • Loading branch information
3 people authored Oct 18, 2024
1 parent 537906a commit 65d01bb
Show file tree
Hide file tree
Showing 11 changed files with 140 additions and 305 deletions.
17 changes: 17 additions & 0 deletions .github/workflows/test_install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Check pip install package with multiple version of python
on: [push, pull_request]

jobs:
check-requirements-install:
strategy:
matrix:
python-version: [ "3.9", "3.12" ]

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- run: pip install -r requirements.txt
13 changes: 8 additions & 5 deletions atlas/configuration/settings.ini.sample
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,15 @@ use_ref_geo_gn2=true
# Souhaitez-vous installer le schéma taxonomie de TaxHub dans la BDD de GeoNature-atlas ?
# false si vous souhaitez utiliser celui de GeoNature en FDW
# ATTENTION : Doit être true si geonature_source=false
install_taxonomie=false
# OBSOLETE
# install_taxonomie=false

################################################
##### CONNEXION A LA BDD GEONATURE SOURCE ######
################################################

# Necessaire uniquement si on veut se connecter à la BDD source GeoNature en foreign data wrapper
# Si vous n'utilisez pas GeoNature, vous pouvez vous inspirer du fichier data/atlas_geonature.sql
# Paramètres de connexion à la BDD source GeoNature et/ou Taxhub en foreign data wrapper
# Si vous n'utilisez pas GeoNature, pour les données d'observation, vous pouvez vous inspirer du fichier data/atlas_geonature.sql
# pour vous connecter à une autre BDD mère

# Host de la BDD GeoNature source
Expand Down Expand Up @@ -85,7 +86,8 @@ type_territoire="'PEC'"

# Creer la table des communes à partir d'un shapefile ?
# Si false, modifiez la creation de 'atlas.vm_communes' dans data/atlas/atlas.vm_communes.sql
import_commune_shp=true
# PARAMETRE OBSOLETE OBLIGATOIRE SI PAS DE REF_GEO
# import_commune_shp=true

# Chemin et nom des colonnes du SHP des communes du territoire. Laisser tel quel (en modifiant uniquement MYUSERLINUX)
# pour utiliser les communes du PnEcrins par défaut
Expand Down Expand Up @@ -120,7 +122,8 @@ altitudes=(0 500 1000 1500 2000 2500 3000 3500 4000)

# Version de TaxHub à utiliser pour installer le schéma taxonomie si install_taxonomie=true
# Numéro de version conseillée et testée : 1.8.1
taxhub_release=1.8.1
# PARAMETRE OBSOLETE Taxhub est OBLIGATOIRE
# taxhub_release=1.8.1

#### ID DES TYPES DES ATTRIBUTS DECRIVANT LES TAXONS DANS atlas.vm_cor_taxon_attribut --
## !! si changement: modifier également dans main/configuration/config.py
Expand Down
11 changes: 11 additions & 0 deletions data/atlas/without_ref_geo.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CREATE INDEX index_gist_t_layer_territoire ON atlas.t_layer_territoire USING gist(the_geom);
CREATE INDEX index_gist_t_layers_communes ON atlas.l_communes USING gist (the_geom);

CREATE TABLE atlas.t_mailles_territoire as
SELECT m.geom AS the_geom, ST_AsGeoJSON(st_transform(m.geom, 4326)) as geojson_maille
FROM atlas.t_mailles_t_mailles_source m, atlas.t_layer_territoire t
WHERE ST_Intersects(m.geom, t.the_geom);

CREATE INDEX index_gist_t_mailles_territoire ON atlas.t_mailles_territoire USING gist (the_geom);
ALTER TABLE atlas.t_mailles_territoire ADD COLUMN id_maille serial;
ALTER TABLE atlas.t_mailles_territoire ADD PRIMARY KEY (id_maille);
9 changes: 0 additions & 9 deletions data/gn2/atlas_ref_taxonomie.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,3 @@ CREATE SCHEMA IF NOT EXISTS taxonomie;
IMPORT FOREIGN SCHEMA taxonomie
LIMIT TO (taxonomie.taxref, taxonomie.cor_taxon_attribut, taxonomie.t_medias)
FROM SERVER geonaturedbserver INTO taxonomie ;

ALTER TABLE taxonomie.taxref OWNER TO myuser;
GRANT ALL ON TABLE taxonomie.taxref TO myuser;

ALTER TABLE taxonomie.cor_taxon_attribut OWNER TO myuser;
GRANT ALL ON TABLE taxonomie.cor_taxon_attribut TO myuser;

ALTER TABLE taxonomie.t_medias OWNER TO myuser;
GRANT ALL ON TABLE taxonomie.t_medias TO myuser;
31 changes: 7 additions & 24 deletions data/update/update_1.6.1to1.6.2.sql
Original file line number Diff line number Diff line change
@@ -1,23 +1,6 @@
DROP MATERIALIZED VIEW IF EXISTS atlas.vm_observations_mailles;
DROP TABLE IF EXISTS atlas.t_mailles_territoire;


CREATE TABLE atlas.t_mailles_territoire AS
SELECT
st_transform(a.geom, 4326) AS the_geom,
st_asgeojson(st_transform(a.geom, 4326)) AS geojson_maille,
a.id_area AS id_maille
FROM ref_geo.l_areas AS a
JOIN ref_geo.bib_areas_types AS t
ON t.id_type = a.id_type
JOIN atlas.t_layer_territoire AS l
ON ST_intersects(a.geom, st_transform(l.the_geom, find_srid('ref_geo', 'l_areas', 'geom')))
WHERE a.enable = true
AND t.type_code = :type_maille ;

CREATE UNIQUE INDEX ON atlas.t_mailles_territoire
USING btree (id_maille);

-- Création index sur les mailles du territoire
CREATE INDEX ON atlas.t_mailles_territoire
USING spgist (the_geom);

Expand All @@ -27,7 +10,8 @@ CREATE MATERIALIZED VIEW atlas.vm_observations_mailles AS
o.cd_ref,
date_part('year', o.dateobs) AS annee,
m.id_maille,
COUNT(o.id_observation) AS nbr
COUNT(o.id_observation) AS nbr,
ARRAY_AGG(o.id_observation) AS id_observations
FROM atlas.vm_observations AS o
JOIN atlas.t_mailles_territoire AS m
ON (o.the_geom_point && m.the_geom)
Expand All @@ -42,9 +26,8 @@ CREATE INDEX ON atlas.vm_observations_mailles
USING btree (annee);

CREATE INDEX ON atlas.vm_observations_mailles
USING btree (id_maille, cd_ref);


-- ISSUE #531 & #532
CREATE EXTENSION IF NOT EXISTS unaccent SCHEMA "public";
USING gin (id_observations);

CREATE INDEX ON atlas.vm_observations_mailles
USING btree (id_maille, cd_ref);

2 changes: 2 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ CHANGELOG
🚀 **Nouveautés**

- Ajout du lien "Données personelles" dans le pied de page (#527 @juggler31)
- Suppression du support des installations sans TaxHub

🐛 **Corrections**

Expand All @@ -23,6 +24,7 @@ CHANGELOG

Si vous mettez à jour GeoNature-atlas :

- Ajouter l'extension unaccent à la base de données `CREATE EXTENSION IF NOT EXISTS unaccent SCHEMA "public";` (#531, #532)
- Exécutez le script SQL de mise à jour de la BDD : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/update/update_1.6.1to1.6.2.sql


Expand Down
4 changes: 1 addition & 3 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,7 @@ Plus de détails sur les différentes vues matérialisées dans le fichier `<vue
Vous y trouverez aussi un exemple d'adaptation de la vue ``atlas.vm_observations``, basé sur une BDD SICEN.

Par ailleurs, si vous n'utilisez pas GeoNature, il vous faut installer TaxHub (https://github.com/PnX-SI/TaxHub/) ou au moins sa BDD, pour gérer les attributs (description, commentaire, milieu et chorologie) ainsi que les médias rattachés à chaque espèce (photos, videos, audios et articles). TaxHub dispose aussi de scripts permettant d'importer les médias des espèces depuis les photos libres de l'INPN (https://github.com/PnX-SI/TaxHub/tree/master/data/scripts/import_inpn_media) ou de Wikimedia (https://github.com/PnX-SI/TaxHub/tree/master/data/scripts/import_wikimedia_commons).

L'installation du schéma ``taxonomie`` de TaxHub dans la BDD de l'atlas peut se faire automatiquement lors de l'installation de la BDD avec le paramètre ``install_taxonomie=true``.


A noter aussi que si vous ne connectez pas l'atlas à une BDD GeoNature (``geonature_source=false``), une table exemple ``synthese.syntheseff`` comprenant 2 observations est créée. A vous d'adapter les vues après l'installation pour les connecter à vos données sources.

Lancez le fichier fichier d'installation de la base de données :
Expand Down
Loading

0 comments on commit 65d01bb

Please sign in to comment.