sql: check card/formdef tables integrity (#78196) #1343

Merged
fpeters merged 1 commits from wip/78196-sql-integrity into main 2024-04-02 09:46:26 +02:00
Owner
No description provided.
fpeters added 1 commit 2024-03-30 16:17:11 +01:00
gitea/wcs/pipeline/head This commit looks good Details
3012ef6288
sql: check card/formdef tables integrity (#78196)
fpeters force-pushed wip/78196-sql-integrity from 3012ef6288 to b95a07045e 2024-03-31 09:35:12 +02:00 Compare
fpeters force-pushed wip/78196-sql-integrity from b95a07045e to 39fe384caa 2024-04-01 09:51:32 +02:00 Compare
fpeters reviewed 2024-04-01 10:04:44 +02:00
@ -588,2 +589,4 @@
return (self.fields or []) + self.workflow.get_backoffice_fields()
def get_all_fields_dict(self):
return {x.id: x for x in self.get_all_fields()}
Author
Owner

Utilisé dans le template, pour obtenir le libellé du champ selon son id.

Utilisé dans le template, pour obtenir le libellé du champ selon son id.
@ -557,0 +562,4 @@
'varchar': 'character varying',
'text[]': 'ARRAY',
'text[][]': 'ARRAY',
}.get(sql_type) or sql_type
Author
Owner

Je découvre que dans la colonne data_type l'info n'est pas complète, pas moyen de différencier text[] de text[][] les deux donnent ARRAY, tant pis on fait avec.

Je découvre que dans la colonne data_type l'info n'est pas complète, pas moyen de différencier text[] de text[][] les deux donnent ARRAY, tant pis on fait avec.
@ -557,0 +564,4 @@
'text[][]': 'ARRAY',
}.get(sql_type) or sql_type
if existing_type != expected_type:
field_integrity_errors[str(field.id)] = {'got': existing_type, 'expected': expected_type}
Author
Owner

On se contente d'enregistrer l'existence d'erreurs; avec les uuid généralisés ça ne devrait plus arriver, c'est surtout historique.

On se contente d'enregistrer l'existence d'erreurs; avec les uuid généralisés ça ne devrait plus arriver, c'est surtout historique.
fpeters changed title from WIP: sql: check card/formdef tables integrity (#78196) to sql: check card/formdef tables integrity (#78196) 2024-04-01 10:04:49 +02:00
fpeters reviewed 2024-04-01 10:06:46 +02:00
@ -2337,0 +2341,4 @@
if formdef.sql_integrity_errors:
# print errors, this will get them in the cron output, that hopefully
# a sysadmin will read.
print(f'! Integrity errors in {formdef.get_admin_url()}')
Author
Owner

En imaginant que ça va saouler de recevoir ces mails, que ça motivera à aller corriger.

En imaginant que ça va saouler de recevoir ces mails, que ça motivera à aller corriger.
@ -35,6 +35,7 @@
</div>
{{ publisher.get_request.session.display_message|safe }}
{% include "wcs/backoffice/includes/sql-fields-integrity.html" %}
Author
Owner

On affiche l'existence d'erreur directement sur la page de la démarche, qu'elles (nous) soient signalées au plus tôt.

On affiche l'existence d'erreur directement sur la page de la démarche, qu'elles (nous) soient signalées au plus tôt.
lguerin approved these changes 2024-04-02 09:20:02 +02:00
fpeters merged commit 1c2314f9a7 into main 2024-04-02 09:46:26 +02:00
fpeters deleted branch wip/78196-sql-integrity 2024-04-02 09:46:26 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#1343
No description provided.