Fix: contrainte par departement sur noms de tags

This commit is contained in:
Emmanuel Viennet 2021-08-18 22:20:20 +02:00
parent c25c2b50c4
commit 4b485d5a4c
2 changed files with 7 additions and 17 deletions

View File

@ -200,25 +200,14 @@ les convertir vers la nouvelle structure ScoDoc 9.
Importer les données dasn ScoDoc 9: les formats des bases ayant changé Importer les données dasn ScoDoc 9: les formats des bases ayant changé
l'opération est complexe et peut durer plusieurs minutes (ou dizaines l'opération est complexe et peut durer plusieurs minutes (ou dizaines
de minutes). de minutes). Il faut lancer le script en tant que `root`, par exemple ainsi:
migrate_from_scodoc7.sh /tmp/sauvegarde-scodoc7 sudo migrate_from_scodoc7.sh /tmp/sauvegarde-scodoc7
(le script de l'étape 3 a décompressé l'archive, d'où ici l'absence de l'extension `tgz`). (le script de l'étape 3 a décompressé l'archive, d'où ici l'absence de l'extension `tgz`).
###
Le script `migrate_from_scodoc7.sh` va déplacer les donneés et reconfigurer les bases de données
de votre installation ScoDoc 7 pour passer à ScoDoc 8 (*ne pas utiliser en production !*).
**Les modifications effectuées sont sans retour: ScoDoc 7 ne fonctionnera plus !**
1. Lancer le script de migration ## Création d'un nouveau département
ScoDoc 8 doit avoir été installé comme expliqué plus haut.
sudo su
cd /opt/scodoc/tools
./migrate_from_scodoc7.sh
## Création d'un département
su scodoc # si besoin su scodoc # si besoin
cd /opt/scodoc cd /opt/scodoc

View File

@ -108,12 +108,13 @@ class NotesTag(db.Model):
"""Tag sur un module""" """Tag sur un module"""
__tablename__ = "notes_tags" __tablename__ = "notes_tags"
__table_args__ = (db.UniqueConstraint("title", "dept_id"),)
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
dept_id = db.Column(db.Integer, db.ForeignKey("departement.id"), index=True)
tag_id = db.synonym("id") tag_id = db.synonym("id")
title = db.Column(db.Text(), nullable=False, unique=True)
dept_id = db.Column(db.Integer, db.ForeignKey("departement.id"), index=True)
title = db.Column(db.Text(), nullable=False)
# Association tag <-> module # Association tag <-> module