# Trouble creating category in import script

**URL:** https://meta.discourse.org/t/trouble-creating-category-in-import-script/64000
**Category:** Development
**Created:** [June 5, 2017, 11:44pm UTC](https://meta.discourse.org/t/trouble-creating-category-in-import-script/64000 "2017-06-05T23:44:14Z")
**Posts on this page:** 4
**Page:** 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: [June 5, 2017, 11:44pm UTC](https://meta.discourse.org/t/trouble-creating-category-in-import-script/64000/1 "2017-06-05T23:44:14Z")

</div>

I’ve got an import script that was working. I changed databases that I was importing from.

Now when I try to create a category, it fails, complaining about `last_post_user_id`. The first line shows what I’m passing to create\_category. It doesn’t look like that topic insert includes a username. Could that be it? Has something changed that broke this? I don’t see any recent changes to `base.rb` or `category.rb`. I’m rather stumped.

```plaintext
Cat: 1: Reporting Forums -- When problems are reported they go in this forum.
/home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-mini-profiler-0.10.4/lib/patches/db/pg.rb:90:in `async_exec': PG::NotNullViolation: ERROR: null value in column "last_post_user_id" violates not-null constraint (ActiveRecord::StatementInvalid)
DETAIL: Failing row contains (15, About the Reporting Forums category, null, 2017-06-05 23:33:54.162645, 2017-06-05 23:33:54.162645, 0, 0, null, null, 0, null, null, null, null, null, 0, null, 0, 0, 19, t, 0, f, f, 2017-06-05 23:33:54.162931, f, 0, regular, null, 0, 0, 2017-06-05 23:33:54.108265, null, 1, null, about-the-reporting-forums-category, null, null, null, null, 1, null, null, f, f, null, null, About the Reporting Forums category, 0, null, null, null, null, null, null).
: INSERT INTO "topics" ("slug", "title", "pinned_at", "category_id", "fancy_title", "created_at", "updated_at", "bumped_at") VALUES ('about-the-reporting-forums-category', 'About the Reporting Forums category', '2017-06-05 23:33:54.108265', 19, 'About the Reporting Forums category', '2017-06-05 23:33:54.162645', '2017-06-05 23:33:54.162645', '2017-06-05 23:33:54.162931') RETURNING "id"
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-mini-profiler-0.10.4/lib/patches/db/pg.rb:90:in `async_exec'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:592:in `block in exec_no_cache'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:484:in `block in log'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:478:in `log'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:592:in `exec_no_cache'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:584:in `execute_and_clear'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in `exec_query'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:192:in `exec_insert'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:108:in `insert'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `insert'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/relation.rb:64:in `insert'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/persistence.rb:524:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/counter_cache.rb:139:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/locking/optimistic.rb:75:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/attribute_methods/dirty.rb:133:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:306:in `block in _create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:117:in `call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:505:in `call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in ` __run_callbacks__'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:306:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/timestamp.rb:57:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/persistence.rb:504:in `create_or_update'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:302:in `block in create_or_update'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:117:in `call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:505:in `call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in ` __run_callbacks__'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:302:in `create_or_update'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/persistence.rb:142:in `save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/validations.rb:43:in `save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:291:in `block in save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:220:in `transaction'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:291:in `save!'
        from /home/pfaffman/src/discourse/app/models/category.rb:206:in `create_category_definition'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:432:in `block in make_lambda'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:228:in `block in halting_and_conditional'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:506:in `block in call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:506:in `each'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:506:in `call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in ` __run_callbacks__'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:306:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/timestamp.rb:57:in `_create_record'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/persistence.rb:504:in `create_or_update'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:302:in `block in create_or_update'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:117:in `call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:505:in `call'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in ` __run_callbacks__'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:302:in `create_or_update'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/persistence.rb:142:in `save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/validations.rb:43:in `save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:291:in `block in save!'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:220:in `transaction'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
        from /home/pfaffman/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.8/lib/active_record/transactions.rb:291:in `save!'
        from /home/pfaffman/src/discourse/script/import_scripts/base.rb:408:in `create_category'
        from /home/pfaffman/src/discourse/script/import_scripts/base.rb:377:in `block in create_categories'
        from /home/pfaffman/src/discourse/script/import_scripts/base.rb:358:in `each'
        from /home/pfaffman/src/discourse/script/import_scripts/base.rb:358:in `collect'
        from /home/pfaffman/src/discourse/script/import_scripts/base.rb:358:in `each'
        from /home/pfaffman/src/discourse/script/import_scripts/base.rb:358:in `create_categories'
        from script/import_scripts/telligent.rb:135:in `import_categories'
        from script/import_scripts/telligent.rb:56:in `execute'
        from /home/pfaffman/src/discourse/script/import_scripts/base.rb:45:in `perform'
        from script/import_scripts/telligent.rb:348:in `<main>'

```

---

<div class="post-metadata">

### Author: ![iamphi](https://avatars.discourse-cdn.com/v4/letter/i/ba9def/32.png) [@iamphi](https://meta.discourse.org/u/iamphi)
#### Post date: [September 28, 2017, 1:03am UTC](https://meta.discourse.org/t/trouble-creating-category-in-import-script/64000/2 "2017-09-28T01:03:58Z")

</div>

I got this problem too. I’ve been working with vbulletin import script. I have changes for importing users and attachments. All my changes were working; I’ve done complete runs. Then I did some refactoring relating to user import and now I have this problem.  
I am using docker with the standalone configuration (postgres running on a separate server). Between runs and tests, I would drop the database with psql and use ‘rake db:migrate’.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [September 28, 2017, 2:25am UTC](https://meta.discourse.org/t/trouble-creating-category-in-import-script/64000/3 "2017-09-28T02:25:07Z")

</div>

Taking a hint from iamphi’s problem of no system user

> [@No 'system' user. Is this bad?](https://meta.discourse.org/t/no-system-user-is-this-bad/70910):
>
> I am having trouble with importing like this case ([Trouble creating category in import script](https://meta.discourse.org/t/trouble-creating-category-in-import-script/64000)) I noticed that the user table does not have a record for a ‘system’ user with id -1. Does this user need to exist in the db? I had dropped the database and did a ‘rake db:migrate’. ‘git log’ tells me that I am using (right? I am new to git): commit 25683124752a504007d5bf1673ac9dcb615c7041 Author: Guo Xiang Tan \<tgx\_world@hotmail.com\> Date: Wed Sep 27 11:55:06 2017 +0800 FIX: Use exact patht t…

it’s as though there was a change in code that allowed “signed” numeric types (both positive and negative) to code that defaults to unsigned numeric types (positive only)

I did a quick look at some changelogs and didn’t see anything confirming my suspicion, but I think it would be worth looking into a bit to see if it might have to do with the Ruby version upgrade.

---

<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: [September 28, 2017, 2:37am UTC](https://meta.discourse.org/t/trouble-creating-category-in-import-script/64000/4 "2017-09-28T02:37:12Z")

</div>

I can’t remember how this got solved,but I did just add support for non linked images to vbulletin.rb.
