Bug #13291
Erreur lors de l'import d'utilisateurs
Statut:
Fermé
Priorité:
Normal
Assigné à:
Josué Kouka
Catégorie:
-
Version cible:
-
Début:
23 septembre 2016
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Description
Traceback (most recent call last): File "/usr/lib/mandayejs/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line utility.execute() File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 346, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python2.7/dist-packages/hobo/multitenant/management/commands/tenant_command.py", line 51, in run_from_argv klass.run_from_argv(args) File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 394, in run_from_argv self.execute(*args, **cmd_options) File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 445, in execute output = self.handle(*args, **options) File "/usr/lib/python2.7/dist-packages/mandayejs/mandaye/management/commands/migrate-users.py", line 59, in handle self.migrate(data) File "/usr/lib/python2.7/dist-packages/mandayejs/mandaye/management/commands/migrate-users.py", line 90, in migrate last_name=data.get('spLogin', '')) File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py", line 127, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 407, in get_or_create return self._create_object_from_params(lookup, params) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 439, in _create_object_from_params obj = self.create(**params) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 348, in create obj.save(force_insert=True, using=self.db) File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 734, in save force_update=force_update, update_fields=update_fields) File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 762, in save_base updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 846, in _save_table result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 885, in _do_insert using=using, raw=raw) File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py", line 127, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 920, in _insert return query.get_compiler(using=using).execute_sql(return_id) File "/usr/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 974, in execute_sql cursor.execute(sql, params) File "/usr/lib/python2.7/dist-packages/django/db/backends/utils.py", line 64, in execute return self.cursor.execute(sql, params) File "/usr/lib/python2.7/dist-packages/django/db/utils.py", line 100, in __exit__ six.reraise(dj_exc_type, dj_exc_value, traceback) File "/usr/lib/python2.7/dist-packages/django/db/backends/utils.py", line 64, in execute return self.cursor.execute(sql, params) django.db.utils.DataError: ERREUR: valeur trop longue pour le type character varying(30)
La taille du champ pour un username dans l'ancien Mandaye était de 150 char
mandaye3m=# \d idp_user Table "public.idp_user" Column | Type | Modifiers -----------+------------------------+------------------------------------------------------- id | integer | not null default nextval('idp_user_id_seq'::regclass) unique_id | character varying(150) | not null idp_id | character varying(150) | not null Indexes: "idp_user_pkey" PRIMARY KEY, btree (id) Referenced by: TABLE "sp_user" CONSTRAINT "sp_user_idp_user_id_fkey" FOREIGN KEY (idp_user_id) REFERENCES idp_user(id)
Historique
Mis à jour par Serghei Mihai il y a plus de 7 ans
Il ne s'agit pas de username.
L'outil d'import essayer de créer un utilisateur Django en lui mettant dans le champ username
le NameID
. Et comme dans Django username
est limité à 30 caractères, ça explose.
Mis à jour par Josué Kouka il y a plus de 7 ans
- Statut changé de Nouveau à Fermé
La procédure à suivre lors de l'import est de transformer les name_id
en uuid
, ce qui permet d'avoir des username
coherants