Projet

Général

Profil

Actions

Import massif

Ce document décrit comment a été réalisé l'import massif d'une base de donnée existante.

La base de donnée telle que décrite dans le Schéma de la nouvelle base de données est très proche de la base access qui était utilisée précédemment.

L'import est réalisé à partir d'un ensemble de fichiers au format CSV dont voici la liste ainsi que les en-têtes nécessaires :

Table dans la base Nom du fichier CSV Entêtes Lien vers un exemple
Sectors sectors.csv "ID_SECTOR";"SECTOR_ORDER";"SECTOR_NAME";"COMMENT" sectors.csv
Themes themes.csv "CODE_THEME";"THEME_NAME";"COMMENT" themes.csv
Datasources datasources.csv "ID_DATA_SOURCE";"SOURCE_NAME";"DESC_SOURCE";"COMMENT" datasources.csv
datastrategies.csv "ID_DATA_STRATEGY";"SOURCE";"THEME";"POINT";"SITE";"COMMENT" datastrategies.csv
Points points.csv "ID_POINT";"POINT_NAME";"PT_ACTIVITY";"LAT_PT";"LONG_PT";"DIRECTION";"SITE";"COMMENT" points.csv
Sites sites.csv "ID_SITE";"SITE_NAME";"SITE_ACTIVITY";"SECTOR";"COMMENT" sites.csv
Stations stations.csv "ID_STATION";"DATA_STRATEGY";"DATE_STATION";"DAY_KNOWN";"LAT_STA";"LONG_STA";"DIRECTION";"COMMENT" stations.csv
collectionlists.csv "ID_COLLECTION_LIST";"COLLECTION_LIST";"COMMENT" collectionlists.csv
Collections collections.csv "ID_COLLECTION";"STATION";"COLLECTION_NAME";"SAMPL_METH";"COLLECTION_SIZE";"UNIT";"LAT_COLL";"LONG_COLL";"DIRECTION";"COMMENT" collections.csv
Units units.csv "ID_UNIT";"UNIT_NAME";"UNIT_SYMB";"COMMENT"
Samplemethods samplemethods.csv "ID_SAMPLE_METH";"SAMPLE_METH_NAME";"SAMPLER";"COMMENT" samplemethods.csv
Samplers samplers.csv "ID_SAMPLER";"SAMPLER_NAME";"DESC_SAMPLER";"SAMPLER_SIZE";"UNIT";"COMMENT" samplers.csv
Samples samples.csv "ID_SAMPLE";"SAMPLE_NAME";"COLLECTION";"SAMPLE_SIZE";"UNIT";"COMMENT";"RESULTS" samples.csv
Results results.csv "ID_RESULTS";"COLLECTION";"SAMPLE";"N°RESULT";"SPECIES";"FCTNAL_GR";"NUM_VAL";"PARAM";"METH_ANA";"BROKEN";"UNIT";"RESULT_TYP";"COMMENT" results
Variables parameters.csv "ID_PARAM";"PARAM_NAME";"COMMENT" parameters.csv
Meth_anas meth_ana.csv "ID_METH_ANA";"METH_ANA_NAME";"METH_ANA_DESC";"COMMENT" meth_ana.csv
Functionalgroups fctnal_gr.csv "ID_FCTNAL_GR";"FCTNAL_GR_NAME";"DESC_FCTNAL_GR";"COMMENT" fctnal_gr.csv
Taxonomies taxonsaphiaid.csv CODE_SP;ScientificName_initial;AphiaID_accepted;ScientificName_accepted;Authority_accepted taxonsaphiaid.csv
Ecologroups ecologroups.csv "NOM_SP";"ECOLO_GR";"DESC_GR_ECOL" ecologroups.csv
Trophic_groups trophic_gr.csv "SPECIES";"CODE_TROPHIC_GR";"TROPHIC_GR";"ALIM_NAT";"ALIM_STAT";"ALIM_ENVT";"SIZE_RAP" trophic_gr.csv
Taxonomies taxos.csv "CODE_SP";"EMB";"CLA";"ORD";"FAM";"GENRE";"NOM_SP" taxos.csv
Results results.csv "ID_RESULTS";"COLLECTION";"SAMPLE";"N°RESULT";"SPECIES";"FCTNAL_GR";"NUM_VAL";"PARAM";"METH_ANA";"BROKEN";"UNIT";"RESULT_TYP";"COMMENT" results.csv

Le script qui réalise l'import massif est source:db/seeds.rb

L'import massif est appelé à partir de la commande :

RAILS_ENV=production rake db:seed

Une demande est en cours pour transférer cet import sous forme de tâches rake indépendantes (#1261).

Mis à jour par Jonathan Schaeffer il y a plus de 8 ans · 5 révisions