J’essaie de faire une importation avec l’importateur en masse de vBulletin. J’ai réussi à le faire fonctionner en grande partie. Il a créé des utilisateurs et des publications, mais les sujets ne sont pas créés.
Les éléments transmis à create_topics(topics) semblent corrects. Les éléments dans processed dans base.rb:create_records semblent corrects (skipped n’est pas défini). Mais aucun sujet n’est créé.
Voici l’erreur :
ERROR: null value in column "pinned_globally" of relation "topics" violates not-null constraint
Mais si un sujet n’est pas épinglé globalement, quelle valeur devrait-il avoir ? J’essaie de commenter ce champ dans TOPIC_COLUMNS dans base.rb.
EDIT : Je pense que cela pourrait fonctionner, mais je ne le saurai pas avant un moment :
create_topics(topics) do |row|
created_at = Time.zone.at(row[5])
t = {
imported_id: row[0],
title: normalize_text(row[1]),
category_id: category_id_from_imported_id(row[2]),
user_id: user_id_from_imported_id(row[3]),
closed: row[4] == 0,
created_at: created_at,
views: row[6] || 0,
visible: row[7] == 1,
pinned_globally: row[8] == 1 # ============== JP a ajouté ceci :
}
t[:pinned_at] = created_at if row[8] == 1
t
end