[migration] fix add_relation_type() for symmetric relations
To check if the corresponding SQL table has to created, CWRelationAddOp
tests that the tablename is not in the 'createdtables' session variable
(i.e. the table hasn't been created before in the same transaction) and
that len(rschema.rdefs) is not greater to 1, that is the relation already
existed in the database before this transaction.
In case of symmetric relations, len(rschema).rdefs will be at least 2
since rdefs will store both (subj, obj) and (obj, subj) relation
definitions.
.. -*- coding: utf-8 -*-Formation Python-CubicWeb 5 jours==================================Bases Python------------Syntaxe de base~~~~~~~~~~~~~~~:durée: 1jModèle objet~~~~~~~~~~~~:durée: 0.5jTraitement de chaînes~~~~~~~~~~~~~~~~~~~~~:durée: 0.3j Formattage de chaînes UnicodeEntrées/Sorties~~~~~~~~~~~~~~~:durée: 0.2j Fichiers `StringIO`Structures avancées~~~~~~~~~~~~~~~~~~~:durée: 0.5j `object`, `super` iterateurs générateurs list comprehension / generator expression descripteurs, properties (`classmethod`, `property`) décorateursDéveloppement CubicWeb-----------------------Mise en place d'un environnement de développement CubicWeb~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:durée: 0.5j Introduction mercurial Installation de CubicWeb et de ses dépendances (debian !) Postgres Notion de template et d'instance L'outil `cubicweb-ctl` Création du modèle Création d'une instance de développementFondements CubicWeb~~~~~~~~~~~~~~~~~~~:durée: 0.1j Vocabulaire Le langage RQL Client/ServeurDéfinition du modèle de données~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:durée: 0.4j Définition d'entité Définition de relation Persistence du schéma Migration de schémaFondements du framework CubicWeb~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:durée: 0.1j La classe `appobject` La base de registres Chargement dynamique des classesManipulation des données stockées~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:durée: 0.4j Les classes `Entity` et `AnyEntity` Paramétrages et extensions spécifiques Écriture de tests unitairesDéfinition de vues~~~~~~~~~~~~~~~~~~:durée: 0.5j Les classes de base des vues Les vues prédéfinies dans la librairie Les patrons Vues binaires ou autre Écriture de tests unitaires Tests automatiquesAutres composants de l'interface web~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:durée: 0.5j Actions Component, VComponent Forms, Controller Eproperty