Voir les traceurs | Bugs | Exporter au format CSV

Date :
14/02/2014 16:27
Priorité :
3
État :
Closed
Proposé par :
Florent MICHON (fmichon)
Confié à :
Florent MICHON (fmichon)
Severity :
minor
Resolution :
Fixed
Version concernée :
v2.0.1
Version cible :
v2.0.2
Résumé :
Correction et réorganisation des fichiers d'initialisation SQL

Description détaillée
Ce ticket traite de divers points dans l'initialisation sql.

Bugs :

* L'initialisation du jeu de données est impossible et produit une erreur :
(ERROR: invalid input syntax for type time: "").

* Des caractères invisibles sont présents en début du fichier : <U+FEFF>

* 18 séquences sont créées et seulement 4 sont rattachées au champ auquel elles se rattachent.

Packaging :

* Le fichier init_metier_data.sql initialise un jeu de données, il devrait se nommer init_data.sql selon le guide du développeur.

* Le fichier ver_2.0.1.sql est exécutable et n'a pas besoin de l'être.

* Un fichier init_parametrage.sql devrait contenir toutes les instructions qui initialise le paramétrage standard de l'application selon le guide du développeur.

* Pour pouvoir ajouter des test fonctionnels à l'application il faut un fichier ajouter un fichier install.sql qui joue l'ensemble des fichiers d'initialisation dans l'ordre. Pour l'instant les test ne sont pas capables de gérer une base de données du nom d'openmairie, il faut donc renommer le nom de la base de données par défaut en openscrutin.

* Afin de stabiliser le cycle de release, il faut ajouter un script de génération automatique des fichiers d'initialisation 'make_init.sh' ainsi qu'un fichier de mise à jour automatique des séquences.
Message  ↓
Date : 14/02/2014 19:18
Expéditeur : Florent MICHON

- Découpage des instructions SQL de manière à pouvoir faire une installation
avec un paramétrage différent (init_parametrage.sql).
- Ajout d'un fichier install.sql qui permet d'enchainer l'exécution des
fichiers en précisant le schéma. Ce fichier a vocation à être utilisé
par les tests.
- Ajout d'un fichier de mise à jour des séquences automatique.
- Ajout d'un script de génération des fichiers d'initialisation SQL nécessaire
afin de stabiliser le cycle de release (make_init.sh).

https://adullact.net/scm/viewvc.php?view=rev&root=openscrutin&revision=113

Date : 14/02/2014 18:20
Expéditeur : Florent MICHON

Gestion des séquences
------------------------------

Il y a 28 tables dans l'application. Sur 28 tables 2 tables n'ont pas de clé primaire (tables de traitement). Sur les 26 tables il y a 8 tables avec des clés primaires alphanumérique qui ne nécessitent donc pas de SEQUENCE :

composition_bureau | table | postgres
composition_bureau_agent | table | postgres

agent | agent | character varying
bureau | bureau | character varying
periode | periode | character varying
poste | poste | character varying
scrutin | scrutin | character varying
service | service | character varying
canton | canton | character varying
grade | grade | character varying

affectation | affectation | integer
candidat | candidat | integer
candidature | candidature | integer
elu | elu | integer
om_collectivite | om_collectivite | integer
om_droit | om_droit | integer
om_etat | om_etat | integer
om_lettretype | om_lettretype | integer
om_parametre | om_parametre | integer
om_profil | om_profil | integer
om_sig_map | om_sig_map | integer
om_sig_map_comp | om_sig_map_comp | integer
om_sig_map_wms | om_sig_map_wms | integer
om_sig_wms | om_sig_wms | integer
om_sousetat | om_sousetat | integer
om_tdb | om_tdb | integer
om_utilisateur | om_utilisateur | integer
om_widget | om_widget | integer


Il y a effectivement 18 séquences initialisées dans la base :

openscrutin=# \ds
List of relations
Schema | Name | Type | Owner
-------------+---------------------+----------+----------
openscrutin | affectation_seq | sequence | postgres
openscrutin | candidat_seq | sequence | postgres
openscrutin | candidature_seq | sequence | postgres
openscrutin | elu_seq | sequence | postgres
openscrutin | om_collectivite_seq | sequence | postgres
openscrutin | om_droit_seq | sequence | postgres
openscrutin | om_etat_seq | sequence | postgres
openscrutin | om_lettretype_seq | sequence | postgres
openscrutin | om_parametre_seq | sequence | postgres
openscrutin | om_profil_seq | sequence | postgres
openscrutin | om_sig_map_comp_seq | sequence | postgres
openscrutin | om_sig_map_seq | sequence | postgres
openscrutin | om_sig_map_wms_seq | sequence | postgres
openscrutin | om_sig_wms_seq | sequence | postgres
openscrutin | om_sousetat_seq | sequence | postgres
openscrutin | om_tdb_seq | sequence | postgres
openscrutin | om_utilisateur_seq | sequence | postgres
openscrutin | om_widget_seq | sequence | postgres
(18 rows)


Voici la liste des 14 séquences orphelines :

openscrutin=# SELECT ns.nspname AS schema_name, seq.relname AS seq_name
FROM pg_class AS seq
JOIN pg_namespace ns ON (seq.relnamespace=ns.oid)
WHERE seq.relkind = 'S'
AND NOT EXISTS (SELECT * FROM pg_depend WHERE objid=seq.oid AND deptype='a')
ORDER BY seq.relname;
schema_name | seq_name
-------------+---------------------
openscrutin | affectation_seq
openscrutin | candidat_seq
openscrutin | candidature_seq
openscrutin | elu_seq
openscrutin | om_collectivite_seq
openscrutin | om_etat_seq
openscrutin | om_lettretype_seq
openscrutin | om_sig_map_comp_seq
openscrutin | om_sig_map_seq
openscrutin | om_sig_map_wms_seq
openscrutin | om_sig_wms_seq
openscrutin | om_sousetat_seq
openscrutin | om_tdb_seq
openscrutin | om_widget_seq
(14 rows)

Les requêtes permettant de corriger ce point ont été commitées : https://adullact.net/scm/viewvc.php?view=rev&root=openscrutin&revision=112

Date : 14/02/2014 16:30
Expéditeur : Florent MICHON

- Le fichier init_metier_data.sql contenait des caractères non visibles
(<U+FEFF>) en début de fichier qui provoquaient une erreur lors de
l'import dans postgresql.
- Le fichier d'initialisation d'un jeu de données provoquait une erreur
liée au format des données (ERROR: invalid input syntax for type
time: "").
- Suppression de la propriété exécutable du fichier ver_2.0.1.sql.
- Renommage du fichier init_metier_data.sql en init_data.sql selon
les règles openmairie (http://docs.openmairie.org/projects/omframework/fr/latest/framework/initialisation_base_de_donnees.html).

https://adullact.net/scm/viewvc.php?view=rev&root=openscrutin&revision=110

Pas de documents joints

Champ Ancienne valeur Date Par
status_idOpen14/02/2014 19:18Florent MICHON
close_dateAucun(e)14/02/2014 19:18Florent MICHON
ResolutionNone14/02/2014 19:18Florent MICHON
detailsCe ticket traite de divers points dans l'initialisation sql. Bugs : * L'initialisation du jeu de données est impossible et produit une erreur : (ERROR: invalid input syntax for type time: ""). * Des caractères invisibles sont présents en début du fichier : <U+FEFF> Packaging : * Le fichier init_metier_data.sql initialise un jeu de données, il devrait se nommer init_data.sql selon le guide du développeur. * Le fichier ver_2.0.1.sql est exécutable et n'a pas besoin de l'être. * Un fichier init_parametrage.sql devrait contenir toutes les instructions qui initialise le paramétrage standard de l'application selon le guide du développeur. * Pour pouvoir ajouter des test fonctionnels à l'application il faut un fichier ajouter un fichier install.sql qui joue l'ensemble des fichiers d'initialisation dans l'ordre. Pour l'instant les test ne sont pas capables de gérer une base de données du nom d'openmairie, il faut donc renommer le nom de la base de données par défaut en openscrutin. * Afin de stabiliser le cycle de release, il faut ajouter un script de génération automatique des fichiers d'initialisation 'make_init.sh' ainsi qu'un fichier de mise à jour automatique des séquences.14/02/2014 17:47Florent MICHON
detailsL'initialisation du jeu de données est impossible et produit une erreur : (ERROR: invalid input syntax for type time: ""). 14/02/2014 16:37Florent MICHON
FEDER Powered By FusionForge Collaborative Development Environment Charte d'utilisation / Nous contacter / Mentions légales Haut de page