# Vbulletin 批量导入程序：关系 "topics" 的列 "pinned\_globally" 中的空值违反了非空约束

**URL:** <https://meta.discourse.org/t/vbulletin-bulk-importer-null-value-in-column-pinned-globally-of-relation-topics-violates-not-null-constraint/366162>\
**Category:** Development\
**Created:** [2025年五月14日 20:48 UTC](https://meta.discourse.org/t/vbulletin-bulk-importer-null-value-in-column-pinned-globally-of-relation-topics-violates-not-null-constraint/366162 "2025-05-14T20:48:09Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2025年五月14日 20:48 UTC](https://meta.discourse.org/t/vbulletin-bulk-importer-null-value-in-column-pinned-globally-of-relation-topics-violates-not-null-constraint/366162/1 "2025-05-14T20:48:09Z")

</div>

我正在尝试使用 vbulletin 批量导入器进行导入。我设法让它大部分完成了。它创建了用户和帖子，但主题没有被创建。

传递给 `create_topics(topics)` 的内容看起来是正确的。`base.rb:create_records` 中 `processed` 中的内容看起来是正确的（skipped 未设置）。但没有主题被创建。

这是错误：

```plaintext
ERROR: column "pinned_globally" of relation "topics" contains null value violates not-null constraint

```

但是，如果一个主题没有被全局置顶，它应该有什么值？我正在尝试在 `base.rb` 中注释掉 `TOPIC_COLUMNS` 中的该字段。

编辑：我认为这可能会解决问题，但需要一段时间才能知道：

```plaintext
    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 added this:
      }
      t[:pinned_at] = created_at if row[8] == 1

      t
    end

```

---

_[View the full topic](https://meta.discourse.org/t/vbulletin-bulk-importer-null-value-in-column-pinned-globally-of-relation-topics-violates-not-null-constraint/366162)._
