Under Consideration: Migrate the Forums to Discourse

Quick Q...
do I need a new account for the discourse "side of the house"?
Tried my creds from the main site, getting "Incorrect username, email or password"
Or it's not been "enabled/migrated" yet?

Note: No passwords will be ported to any new discourse site. The password hash functions are not the same so porting them would not work.

All users will need to do the 'reset or lost password thing' on the new discourse site. I do not want to spam the world with a mass "reset your password for discourse email" if we decide to go public.

Please keep in mind, if you do it now (update your password on the discourse site), you will have do to it again later, because I plan to dump the discourse DB in a few days and run the whole migration again.

I have learned a few things from the test migration, so I will change the migration script and run it again after this test migration is complete (I think in one more day, the first test run will be done).

This is only a test run to smoke out the goblins, alligators, and vampires hiding in the migration shadows :slight_smile:

FYI Only: I have started another test run on a different server using a modified migration script, so I'm actually doing two initial test migration runs at the moment. Plus, I need to get very good at docker, so I wanted to do it all from scratch again. In this second parallel run, I wrote some initial new code for some of our custom BBCODE and changed the way vB forums are converted to discourse categories .

I'm sure I will find more odd BBCODE issues and unexpected issues when testing various migration paths.

FYI Status, for the post replies migration on test bed 1

   497977 / 651396 ( 76.4%)  [577 items/min] 
1 Like

Update:

Posts done... moving on

importing posts...
   643001 / 651396 ( 98.7%)  [1399431 items/min]  
importing private messages.

Many errors in the script during this process:


importing private messages...
skipping pm-2068 `to_user_array` is not properly serialized -- {"bcc"=>"madEG"}
pm-2068 has no target (a:1:{s:3:"bcc";s:5:"madEG";})
     1001 / 32205 (  3.1%)  [3078112 items/min]  skipping pm-2084 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-2084 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     1002 / 32205 (  3.1%)  [3025363 items/min]  skipping pm-2099 `to_user_array` is not properly serialized -- {"bcc"=>"jamcalicut"}
pm-2099 has no target (a:1:{s:3:"bcc";s:10:"jamcalicut";})
     1003 / 32205 (  3.1%)  [2998298 items/min]  skipping pm-2100 `to_user_array` is not properly serialized -- {"bcc"=>"arunkumar_mca"}
pm-2100 has no target (a:1:{s:3:"bcc";s:13:"arunkumar_mca";})
     1004 / 32205 (  3.1%)  [2975087 items/min]  skipping pm-2106 `to_user_array` is not properly serialized -- {"bcc"=>"thanusha"}
pm-2106 has no target (a:1:{s:3:"bcc";s:8:"thanusha";})
     1005 / 32205 (  3.1%)  [2951156 items/min]  skipping pm-2108 `to_user_array` is not properly serialized -- {"bcc"=>"Danielillo300"}
pm-2108 has no target (a:1:{s:3:"bcc";s:13:"Danielillo300";})
     1006 / 32205 (  3.1%)  [2897748 items/min]  skipping pm-2110 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-2110 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     1007 / 32205 (  3.1%)  [2825610 items/min]  skipping pm-2111 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-2111 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     1008 / 32205 (  3.1%)  [2771679 items/min]  skipping pm-2117 `to_user_array` is not properly serialized -- {"bcc"=>"cskumar"}
pm-2117 has no target (a:1:{s:3:"bcc";s:7:"cskumar";})
     1009 / 32205 (  3.1%)  [2722011 items/min]  skipping pm-2118 `to_user_array` is not properly serialized -- {"bcc"=>"cskumar"}
pm-2118 has no target (a:1:{s:3:"bcc";s:7:"cskumar";})
     1010 / 32205 (  3.1%)  [2664881 items/min]  skipping pm-2215 `to_user_array` is not properly serialized -- {"bcc"=>"sharif.rizal"}
pm-2215 has no target (a:1:{s:3:"bcc";s:12:"sharif.rizal";})
     1011 / 32205 (  3.1%)  [2622419 items/min]  skipping pm-2231 `to_user_array` is not properly serialized -- {"bcc"=>"ringofsteel"}
pm-2231 has no target (a:1:{s:3:"bcc";s:11:"ringofsteel";})
     1012 / 32205 (  3.1%)  [2603823 items/min]  skipping pm-2238 `to_user_array` is not properly serialized -- {"bcc"=>"aishu"}
pm-2238 has no target (a:1:{s:3:"bcc";s:5:"aishu";})
     1013 / 32205 (  3.1%)  [2586620 items/min]  skipping pm-2243 `to_user_array` is not properly serialized -- {"bcc"=>"krishnan_6015@y"}
pm-2243 has no target (a:1:{s:3:"bcc";s:15:"krishnan_6015@y";})
     1014 / 32205 (  3.1%)  [2571668 items/min]  skipping pm-2252 `to_user_array` is not properly serialized -- {"bcc"=>"thumper"}
pm-2252 has no target (a:1:{s:3:"bcc";s:7:"thumper";})
     1015 / 32205 (  3.2%)  [2557984 items/min]  skipping pm-2253 `to_user_array` is not properly serialized -- {"bcc"=>"thumper"}
pm-2253 has no target (a:1:{s:3:"bcc";s:7:"thumper";})
     1016 / 32205 (  3.2%)  [2544388 items/min]  skipping pm-2257 `to_user_array` is not properly serialized -- {"bcc"=>"kezzol"}
pm-2257 has no target (a:1:{s:3:"bcc";s:6:"kezzol";})
     1017 / 32205 (  3.2%)  [2529213 items/min]  skipping pm-2260 `to_user_array` is not properly serialized -- {"bcc"=>"elzalem"}
pm-2260 has no target (a:1:{s:3:"bcc";s:7:"elzalem";})
     1018 / 32205 (  3.2%)  [2516010 items/min]  skipping pm-2298 `to_user_array` is not properly serialized -- {"bcc"=>"sakthi_13"}
pm-2298 has no target (a:1:{s:3:"bcc";s:9:"sakthi_13";})
     1019 / 32205 (  3.2%)  [2501264 items/min]  skipping pm-2305 `to_user_array` is not properly serialized -- {"bcc"=>"user_prady"}
pm-2305 has no target (a:1:{s:3:"bcc";s:10:"user_prady";})
     1020 / 32205 (  3.2%)  [2488480 items/min]  skipping pm-2312 `to_user_array` is not properly serialized -- {"bcc"=>"mvictorvijayan"}
pm-2312 has no target (a:1:{s:3:"bcc";s:14:"mvictorvijayan";})
     1021 / 32205 (  3.2%)  [2474183 items/min]  skipping pm-2318 `to_user_array` is not properly serialized -- {"bcc"=>"Tanvirk"}
pm-2318 has no target (a:1:{s:3:"bcc";s:7:"Tanvirk";})
     1022 / 32205 (  3.2%)  [2461119 items/min]  skipping pm-2322 `to_user_array` is not properly serialized -- {"bcc"=>"Tanvirk"}
pm-2322 has no target (a:1:{s:3:"bcc";s:7:"Tanvirk";})
     1023 / 32205 (  3.2%)  [2444303 items/min]  skipping pm-2330 `to_user_array` is not properly serialized -- {"bcc"=>"nathan"}
pm-2330 has no target (a:1:{s:3:"bcc";s:6:"nathan";})
     1024 / 32205 (  3.2%)  [2432051 items/min]  skipping pm-2331 `to_user_array` is not properly serialized -- {"bcc"=>"nathan"}
pm-2331 has no target (a:1:{s:3:"bcc";s:6:"nathan";})
     1025 / 32205 (  3.2%)  [2419670 items/min]  skipping pm-2341 `to_user_array` is not properly serialized -- {"bcc"=>"udhayashankar"}
pm-2341 has no target (a:1:{s:3:"bcc";s:13:"udhayashankar";})
     1026 / 32205 (  3.2%)  [2405570 items/min]  skipping pm-2391 `to_user_array` is not properly serialized -- {"bcc"=>"royal"}
pm-2391 has no target (a:1:{s:3:"bcc";s:5:"royal";})
     1027 / 32205 (  3.2%)  [2393610 items/min]  skipping pm-2401 `to_user_array` is not properly serialized -- {"bcc"=>"deckard"}
pm-2401 has no target (a:1:{s:3:"bcc";s:7:"deckard";})
     1028 / 32205 (  3.2%)  [2382157 items/min]  skipping pm-2404 `to_user_array` is not properly serialized -- {"bcc"=>"MaestroRage"}
pm-2404 has no target (a:1:{s:3:"bcc";s:11:"MaestroRage";})
     1029 / 32205 (  3.2%)  [2289484 items/min]  skipping pm-2405 `to_user_array` is not properly serialized -- {"bcc"=>"zoom"}
pm-2405 has no target (a:1:{s:3:"bcc";s:4:"zoom";})
     1030 / 32205 (  3.2%)  [2233536 items/min]  skipping pm-2465 `to_user_array` is not properly serialized -- {"bcc"=>"bhanu6us"}
pm-2465 has no target (a:1:{s:3:"bcc";s:8:"bhanu6us";})
     1031 / 32205 (  3.2%)  [2220898 items/min]  skipping pm-2468 `to_user_array` is not properly serialized -- {"bcc"=>"srichunduru"}
pm-2468 has no target (a:1:{s:3:"bcc";s:11:"srichunduru";})
     1032 / 32205 (  3.2%)  [2208509 items/min]  skipping pm-2480 `to_user_array` is not properly serialized -- {"bcc"=>"Sergiu-IT"}
pm-2480 has no target (a:1:{s:3:"bcc";s:9:"Sergiu-IT";})
     1033 / 32205 (  3.2%)  [2198099 items/min]  skipping pm-2496 `to_user_array` is not properly serialized -- {"bcc"=>"vpandey"}
pm-2496 has no target (a:1:{s:3:"bcc";s:7:"vpandey";})
     1034 / 32205 (  3.2%)  [2188659 items/min]  skipping pm-2514 `to_user_array` is not properly serialized -- {"bcc"=>"Vitamin254"}
pm-2514 has no target (a:1:{s:3:"bcc";s:10:"Vitamin254";})
     1035 / 32205 (  3.2%)  [2179013 items/min]  skipping pm-2523 `to_user_array` is not properly serialized -- {"bcc"=>"bryan_adams"}
pm-2523 has no target (a:1:{s:3:"bcc";s:11:"bryan_adams";})
     1036 / 32205 (  3.2%)  [2169872 items/min]  skipping pm-2545 `to_user_array` is not properly serialized -- {"bcc"=>"malaisamya"}
pm-2545 has no target (a:1:{s:3:"bcc";s:10:"malaisamya";})
     1037 / 32205 (  3.2%)  [2160851 items/min]  skipping pm-4109 `to_user_array` is not properly serialized -- {"bcc"=>"qwbouqd"}
pm-4109 has no target (a:1:{s:3:"bcc";s:7:"qwbouqd";})
     3001 / 32205 (  9.3%)  [2560004 items/min]  skipping pm-4191 `to_user_array` is not properly serialized -- {"bcc"=>"grial"}
pm-4191 has no target (a:1:{s:3:"bcc";s:5:"grial";})
     3002 / 32205 (  9.3%)  [2544677 items/min]  skipping pm-4192 `to_user_array` is not properly serialized -- {"bcc"=>"grial"}
pm-4192 has no target (a:1:{s:3:"bcc";s:5:"grial";})
     3003 / 32205 (  9.3%)  [2528097 items/min]  skipping pm-4200 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4200 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3004 / 32205 (  9.3%)  [2513525 items/min]  skipping pm-4207 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4207 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3005 / 32205 (  9.3%)  [2494515 items/min]  skipping pm-4230 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4230 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3006 / 32205 (  9.3%)  [2466508 items/min]  skipping pm-4231 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4231 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3007 / 32205 (  9.3%)  [2444195 items/min]  skipping pm-4232 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4232 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3008 / 32205 (  9.3%)  [2425517 items/min]  skipping pm-4248 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4248 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3009 / 32205 (  9.3%)  [2410828 items/min]  skipping pm-4249 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4249 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3010 / 32205 (  9.3%)  [2391919 items/min]  skipping pm-4253 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4253 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3011 / 32205 (  9.3%)  [2359778 items/min]  skipping pm-4311 `to_user_array` is not properly serialized -- {"bcc"=>"gopikgunda"}
pm-4311 has no target (a:1:{s:3:"bcc";s:10:"gopikgunda";})
     3012 / 32205 (  9.4%)  [2347049 items/min]  skipping pm-4342 `to_user_array` is not properly serialized -- {"bcc"=>"phonedog365"}
pm-4342 has no target (a:1:{s:3:"bcc";s:11:"phonedog365";})
     3013 / 32205 (  9.4%)  [2328462 items/min]  skipping pm-4345 `to_user_array` is not properly serialized -- {"bcc"=>"Shivdatta"}
pm-4345 has no target (a:1:{s:3:"bcc";s:9:"Shivdatta";})
     3014 / 32205 (  9.4%)  [2316168 items/min]  skipping pm-4352 `to_user_array` is not properly serialized -- {"bcc"=>"rockdude"}
pm-4352 has no target (a:1:{s:3:"bcc";s:8:"rockdude";})
     3015 / 32205 (  9.4%)  [2297222 items/min]  skipping pm-4386 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4386 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3016 / 32205 (  9.4%)  [2283626 items/min]  skipping pm-4407 `to_user_array` is not properly serialized -- {"bcc"=>"raghav1982"}
pm-4407 has no target (a:1:{s:3:"bcc";s:10:"raghav1982";})
     3017 / 32205 (  9.4%)  [2279684 items/min]  skipping pm-4418 `to_user_array` is not properly serialized -- {"bcc"=>"ramen_noodle"}
pm-4418 has no target (a:1:{s:3:"bcc";s:12:"ramen_noodle";})
     3018 / 32205 (  9.4%)  [2275916 items/min]  skipping pm-4539 `to_user_array` is not properly serialized -- {"bcc"=>"Sachin Gupta"}
pm-4539 has no target (a:1:{s:3:"bcc";s:12:"Sachin Gupta";})
     3019 / 32205 (  9.4%)  [2272013 items/min]  skipping pm-4546 `to_user_array` is not properly serialized -- {"bcc"=>"cong-lv"}
pm-4546 has no target (a:1:{s:3:"bcc";s:7:"cong-lv";})
     3020 / 32205 (  9.4%)  [2253112 items/min]  skipping pm-4611 `to_user_array` is not properly serialized -- {"bcc"=>"gobinath"}
pm-4611 has no target (a:1:{s:3:"bcc";s:8:"gobinath";})
     3021 / 32205 (  9.4%)  [2237404 items/min]  skipping pm-4614 `to_user_array` is not properly serialized -- {"bcc"=>"scarfake"}
pm-4614 has no target (a:1:{s:3:"bcc";s:8:"scarfake";})
     3022 / 32205 (  9.4%)  [2224658 items/min]  skipping pm-4616 `to_user_array` is not properly serialized -- {"bcc"=>"blowtorch"}
pm-4616 has no target (a:1:{s:3:"bcc";s:9:"blowtorch";})
     3023 / 32205 (  9.4%)  [2215103 items/min]  skipping pm-5456 `to_user_array` is not properly serialized -- {"bcc"=>"Franzlebord"}
pm-5456 has no target (a:1:{s:3:"bcc";s:11:"Franzlebord";})
     4001 / 32205 ( 12.4%)  [2550217 items/min]  skipping pm-5467 `to_user_array` is not properly serialized -- {"bcc"=>"moertono"}
pm-5467 has no target (a:1:{s:3:"bcc";s:8:"moertono";})
     4002 / 32205 ( 12.4%)  [2534546 items/min]  skipping pm-5468 `to_user_array` is not properly serialized -- {"bcc"=>"bullz26"}
pm-5468 has no target (a:1:{s:3:"bcc";s:7:"bullz26";})
     4003 / 32205 ( 12.4%)  [2523394 items/min]  skipping pm-5492 `to_user_array` is not properly serialized -- {"bcc"=>"justintjacob"}
pm-5492 has no target (a:1:{s:3:"bcc";s:12:"justintjacob";})
     4004 / 32205 ( 12.4%)  [2519003 items/min]  skipping pm-5497 `to_user_array` is not properly serialized -- {"bcc"=>"paruthiveeran"}
pm-5497 has no target (a:1:{s:3:"bcc";s:13:"paruthiveeran";})
    23003 / 32205 ( 71.4%)  [1579206 items/min]  
importing attachments...

Now:

Closing topics...

Postprocessing posts...
  1059653 / 1059653 (100.0%)  
Creating Permalink File...

Yeah... first test run migration is done:

Creating Permalink File...


updating banned users
     2259 / 3134 ( 72.1%)  Not found: 302148143
     2316 / 3134 ( 73.9%)  Not found: 302147997
     2444 / 3134 ( 78.0%)  Not found: 302147691
     2578 / 3134 ( 82.3%)  Not found: 302153403
     2580 / 3134 ( 82.3%)  Not found: 302153629
     3018 / 3134 ( 96.3%)  Not found: 302180317
     3025 / 3134 ( 96.5%)  Not found: 302180659
     3026 / 3134 ( 96.6%)  Not found: 302180687
     3034 / 3134 ( 96.8%)  Not found: 302180878
     3053 / 3134 ( 97.4%)  Not found: 302181312
     3056 / 3134 ( 97.5%)  Not found: 302181310
     3062 / 3134 ( 97.7%)  Not found: 302181411
     3077 / 3134 ( 98.2%)  Not found: 302179968
     3134 / 3134 (100.0%)  

Updating topic status

Updating bumped_at on topics

Updating last posted at on users

Updating last seen at on users

Updating topic reply counts...
   137992 / 137992 (100.0%)  [9664 items/min]     
Updating first_post_created_at...

Updating user post_count...

Updating user topic_count...

Updating topic users

Updating post timings

Updating featured topic users

Updating featured topics in categories
      123 / 123 (100.0%)  [626 items/min]  n]  
Updating user topic reply counts
   137992 / 137992 (100.0%)  [9643 items/min]     
Resetting topic counters


Done

I'm gonna run the script again on the same DBs (no changes, no DB flushes, etc)

1 Like

wooohoooo :stuck_out_tongue: :b:

Good luck, seems promising so far, cant wait! :slight_smile:

1 Like

Discourse is a work-of-art, so I am also excited to see this and it is looking very promising this will actually work out.

Finally after all these years, a better forum!

Below is the complete "second full script run" and here is "the plan":

  • Modify vbulletin.rb migration script as required based on errors, missing customer BBCODE tags, and other "first order" issues.
  • rake db:drop db:create db:migrate.
  • dump the vB3 DB again from the main server
  • rerun migration from the start on a '"raked" db
root@localhost-app:/var/www/discourse# su discourse -c 'bundle exec ruby script/import_scripts/vbulletin.rb'
discourse:@localhost wants vb5
Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...

importing groups...
       20 / 20 (100.0%)  [1936324 items/min]  
importing users
   138001 / 138120 ( 99.9%)  [1442012 items/min]   
Creating groups membership...
	Unregistered_Not_Log
	Registered
	Users_Awaiting_Email
	_COPPA_Users_Awaitin
	Super_Moderators
	Administrators
	Read_Only
	Moderators1
	Banned_by_Moderators
	Advisors
	Supporter
	Bouncing_Email
	Elite_Member
	VIP_Member
	Signatures
	Recruiter
	Robots
	Novice_Users
	Event_Predictions_Ma
	Banned_User_IDs

importing all cateories top level categories...
      119 / 119 (100.0%)  [2774499 items/min]  
importing topics...
   200012 / 240477 ( 83.2%)  [920310 items/min]  Exception while creating post thread-243715. Skipping.
PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:65:in `block (2 levels) in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:64:in `block in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block (2 levels) in log'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:102:in `query_values'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/schema_statements.rb:356:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:147:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/schema_cache.rb:49:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:93:in `get_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:80:in `reset_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:68:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:90:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation.rb:570:in `delete_all'
/var/www/discourse/app/models/topic_link.rb:285:in `cleanup_entries'
/var/www/discourse/app/models/topic_link.rb:139:in `extract_from'
/var/www/discourse/lib/post_creator.rb:572:in `extract_links'
/var/www/discourse/lib/post_creator.rb:180:in `block in create'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:174:in `create'
/var/www/discourse/script/import_scripts/base.rb:567:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:515:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:502:in `each'
/var/www/discourse/script/import_scripts/base.rb:502:in `create_posts'
script/import_scripts/vbulletin.rb:330:in `block in import_topics'
/var/www/discourse/script/import_scripts/base.rb:882:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:881:in `loop'
/var/www/discourse/script/import_scripts/base.rb:881:in `batches'
script/import_scripts/vbulletin.rb:313:in `import_topics'
script/import_scripts/vbulletin.rb:85:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/vbulletin.rb:954:in `<main>'
   201001 / 240477 ( 83.6%)  [332847 items/min]  xException while creating post thread-243734. Skipping.
PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:65:in `block (2 levels) in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:64:in `block in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block (2 levels) in log'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:102:in `query_values'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/schema_statements.rb:356:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:147:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/schema_cache.rb:49:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:93:in `get_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:80:in `reset_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:68:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:90:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation.rb:570:in `delete_all'
/var/www/discourse/app/models/topic_link.rb:285:in `cleanup_entries'
/var/www/discourse/app/models/topic_link.rb:139:in `extract_from'
/var/www/discourse/lib/post_creator.rb:572:in `extract_links'
/var/www/discourse/lib/post_creator.rb:180:in `block in create'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:174:in `create'
/var/www/discourse/script/import_scripts/base.rb:567:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:515:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:502:in `each'
/var/www/discourse/script/import_scripts/base.rb:502:in `create_posts'
script/import_scripts/vbulletin.rb:330:in `block in import_topics'
/var/www/discourse/script/import_scripts/base.rb:882:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:881:in `loop'
/var/www/discourse/script/import_scripts/base.rb:881:in `batches'
script/import_scripts/vbulletin.rb:313:in `import_topics'
script/import_scripts/vbulletin.rb:85:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/vbulletin.rb:954:in `<main>'
   201002 / 240477 ( 83.6%)  [231079 items/min]  Exception while creating post thread-243762. Skipping.
PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:65:in `block (2 levels) in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:64:in `block in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block (2 levels) in log'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:102:in `query_values'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/schema_statements.rb:356:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:147:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/schema_cache.rb:49:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:93:in `get_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:80:in `reset_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:68:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:90:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation.rb:570:in `delete_all'
/var/www/discourse/app/models/topic_link.rb:285:in `cleanup_entries'
/var/www/discourse/app/models/topic_link.rb:139:in `extract_from'
/var/www/discourse/lib/post_creator.rb:572:in `extract_links'
/var/www/discourse/lib/post_creator.rb:180:in `block in create'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:174:in `create'
/var/www/discourse/script/import_scripts/base.rb:567:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:515:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:502:in `each'
/var/www/discourse/script/import_scripts/base.rb:502:in `create_posts'
script/import_scripts/vbulletin.rb:330:in `block in import_topics'
/var/www/discourse/script/import_scripts/base.rb:882:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:881:in `loop'
/var/www/discourse/script/import_scripts/base.rb:881:in `batches'
script/import_scripts/vbulletin.rb:313:in `import_topics'
script/import_scripts/vbulletin.rb:85:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/vbulletin.rb:954:in `<main>'
   236002 / 240477 ( 98.1%)  [179988 items/min]  
importing posts...
   643001 / 651396 ( 98.7%)  [1974503 items/min]  
importing private messages...
skipping pm-2068 `to_user_array` is not properly serialized -- {"bcc"=>"madEG"}
pm-2068 has no target (a:1:{s:3:"bcc";s:5:"madEG";})
     1001 / 32205 (  3.1%)  [4272085 items/min]  skipping pm-2084 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-2084 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     1002 / 32205 (  3.1%)  [3945003 items/min]  skipping pm-2099 `to_user_array` is not properly serialized -- {"bcc"=>"jamcalicut"}
pm-2099 has no target (a:1:{s:3:"bcc";s:10:"jamcalicut";})
     1003 / 32205 (  3.1%)  [3655451 items/min]  skipping pm-2100 `to_user_array` is not properly serialized -- {"bcc"=>"arunkumar_mca"}
pm-2100 has no target (a:1:{s:3:"bcc";s:13:"arunkumar_mca";})
     1004 / 32205 (  3.1%)  [3458157 items/min]  skipping pm-2106 `to_user_array` is not properly serialized -- {"bcc"=>"thanusha"}
pm-2106 has no target (a:1:{s:3:"bcc";s:8:"thanusha";})
     1005 / 32205 (  3.1%)  [3408788 items/min]  skipping pm-2108 `to_user_array` is not properly serialized -- {"bcc"=>"Danielillo300"}
pm-2108 has no target (a:1:{s:3:"bcc";s:13:"Danielillo300";})
     1006 / 32205 (  3.1%)  [3371808 items/min]  skipping pm-2110 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-2110 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     1007 / 32205 (  3.1%)  [3336760 items/min]  skipping pm-2111 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-2111 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     1008 / 32205 (  3.1%)  [3304712 items/min]  skipping pm-2117 `to_user_array` is not properly serialized -- {"bcc"=>"cskumar"}
pm-2117 has no target (a:1:{s:3:"bcc";s:7:"cskumar";})
     1009 / 32205 (  3.1%)  [3272906 items/min]  skipping pm-2118 `to_user_array` is not properly serialized -- {"bcc"=>"cskumar"}
pm-2118 has no target (a:1:{s:3:"bcc";s:7:"cskumar";})
     1010 / 32205 (  3.1%)  [3243364 items/min]  skipping pm-2215 `to_user_array` is not properly serialized -- {"bcc"=>"sharif.rizal"}
pm-2215 has no target (a:1:{s:3:"bcc";s:12:"sharif.rizal";})
     1011 / 32205 (  3.1%)  [3176725 items/min]  skipping pm-2231 `to_user_array` is not properly serialized -- {"bcc"=>"ringofsteel"}
pm-2231 has no target (a:1:{s:3:"bcc";s:11:"ringofsteel";})
     1012 / 32205 (  3.1%)  [3028294 items/min]  skipping pm-2238 `to_user_array` is not properly serialized -- {"bcc"=>"aishu"}
pm-2238 has no target (a:1:{s:3:"bcc";s:5:"aishu";})
     1013 / 32205 (  3.1%)  [2866952 items/min]  skipping pm-2243 `to_user_array` is not properly serialized -- {"bcc"=>"krishnan_6015@y"}
pm-2243 has no target (a:1:{s:3:"bcc";s:15:"krishnan_6015@y";})
     1014 / 32205 (  3.1%)  [2745019 items/min]  skipping pm-2252 `to_user_array` is not properly serialized -- {"bcc"=>"thumper"}
pm-2252 has no target (a:1:{s:3:"bcc";s:7:"thumper";})
     1015 / 32205 (  3.2%)  [2626413 items/min]  skipping pm-2253 `to_user_array` is not properly serialized -- {"bcc"=>"thumper"}
pm-2253 has no target (a:1:{s:3:"bcc";s:7:"thumper";})
     1016 / 32205 (  3.2%)  [2533819 items/min]  skipping pm-2257 `to_user_array` is not properly serialized -- {"bcc"=>"kezzol"}
pm-2257 has no target (a:1:{s:3:"bcc";s:6:"kezzol";})
     1017 / 32205 (  3.2%)  [2442497 items/min]  skipping pm-2260 `to_user_array` is not properly serialized -- {"bcc"=>"elzalem"}
pm-2260 has no target (a:1:{s:3:"bcc";s:7:"elzalem";})
     1018 / 32205 (  3.2%)  [2365107 items/min]  skipping pm-2298 `to_user_array` is not properly serialized -- {"bcc"=>"sakthi_13"}
pm-2298 has no target (a:1:{s:3:"bcc";s:9:"sakthi_13";})
     1019 / 32205 (  3.2%)  [2304363 items/min]  skipping pm-2305 `to_user_array` is not properly serialized -- {"bcc"=>"user_prady"}
pm-2305 has no target (a:1:{s:3:"bcc";s:10:"user_prady";})
     1020 / 32205 (  3.2%)  [2191179 items/min]  skipping pm-2312 `to_user_array` is not properly serialized -- {"bcc"=>"mvictorvijayan"}
pm-2312 has no target (a:1:{s:3:"bcc";s:14:"mvictorvijayan";})
     1021 / 32205 (  3.2%)  [2142214 items/min]  skipping pm-2318 `to_user_array` is not properly serialized -- {"bcc"=>"Tanvirk"}
pm-2318 has no target (a:1:{s:3:"bcc";s:7:"Tanvirk";})
     1022 / 32205 (  3.2%)  [2097679 items/min]  skipping pm-2322 `to_user_array` is not properly serialized -- {"bcc"=>"Tanvirk"}
pm-2322 has no target (a:1:{s:3:"bcc";s:7:"Tanvirk";})
     1023 / 32205 (  3.2%)  [2051908 items/min]  skipping pm-2330 `to_user_array` is not properly serialized -- {"bcc"=>"nathan"}
pm-2330 has no target (a:1:{s:3:"bcc";s:6:"nathan";})
     1024 / 32205 (  3.2%)  [2012734 items/min]  skipping pm-2331 `to_user_array` is not properly serialized -- {"bcc"=>"nathan"}
pm-2331 has no target (a:1:{s:3:"bcc";s:6:"nathan";})
     1025 / 32205 (  3.2%)  [1971348 items/min]  skipping pm-2341 `to_user_array` is not properly serialized -- {"bcc"=>"udhayashankar"}
pm-2341 has no target (a:1:{s:3:"bcc";s:13:"udhayashankar";})
     1026 / 32205 (  3.2%)  [1936010 items/min]  skipping pm-2391 `to_user_array` is not properly serialized -- {"bcc"=>"royal"}
pm-2391 has no target (a:1:{s:3:"bcc";s:5:"royal";})
     1027 / 32205 (  3.2%)  [1910726 items/min]  skipping pm-2401 `to_user_array` is not properly serialized -- {"bcc"=>"deckard"}
pm-2401 has no target (a:1:{s:3:"bcc";s:7:"deckard";})
     1028 / 32205 (  3.2%)  [1876185 items/min]  skipping pm-2404 `to_user_array` is not properly serialized -- {"bcc"=>"MaestroRage"}
pm-2404 has no target (a:1:{s:3:"bcc";s:11:"MaestroRage";})
     1029 / 32205 (  3.2%)  [1842665 items/min]  skipping pm-2405 `to_user_array` is not properly serialized -- {"bcc"=>"zoom"}
pm-2405 has no target (a:1:{s:3:"bcc";s:4:"zoom";})
     1030 / 32205 (  3.2%)  [1798485 items/min]  skipping pm-2465 `to_user_array` is not properly serialized -- {"bcc"=>"bhanu6us"}
pm-2465 has no target (a:1:{s:3:"bcc";s:8:"bhanu6us";})
     1031 / 32205 (  3.2%)  [1756238 items/min]  skipping pm-2468 `to_user_array` is not properly serialized -- {"bcc"=>"srichunduru"}
pm-2468 has no target (a:1:{s:3:"bcc";s:11:"srichunduru";})
     1032 / 32205 (  3.2%)  [1723526 items/min]  skipping pm-2480 `to_user_array` is not properly serialized -- {"bcc"=>"Sergiu-IT"}
pm-2480 has no target (a:1:{s:3:"bcc";s:9:"Sergiu-IT";})
     1033 / 32205 (  3.2%)  [1686706 items/min]  skipping pm-2496 `to_user_array` is not properly serialized -- {"bcc"=>"vpandey"}
pm-2496 has no target (a:1:{s:3:"bcc";s:7:"vpandey";})
     1034 / 32205 (  3.2%)  [1645478 items/min]  skipping pm-2514 `to_user_array` is not properly serialized -- {"bcc"=>"Vitamin254"}
pm-2514 has no target (a:1:{s:3:"bcc";s:10:"Vitamin254";})
     1035 / 32205 (  3.2%)  [1617776 items/min]  skipping pm-2523 `to_user_array` is not properly serialized -- {"bcc"=>"bryan_adams"}
pm-2523 has no target (a:1:{s:3:"bcc";s:11:"bryan_adams";})
     1036 / 32205 (  3.2%)  [1592926 items/min]  skipping pm-2545 `to_user_array` is not properly serialized -- {"bcc"=>"malaisamya"}
pm-2545 has no target (a:1:{s:3:"bcc";s:10:"malaisamya";})
     1037 / 32205 (  3.2%)  [1561748 items/min]  skipping pm-4109 `to_user_array` is not properly serialized -- {"bcc"=>"qwbouqd"}
pm-4109 has no target (a:1:{s:3:"bcc";s:7:"qwbouqd";})
     3001 / 32205 (  9.3%)  [2795148 items/min]  skipping pm-4191 `to_user_array` is not properly serialized -- {"bcc"=>"grial"}
pm-4191 has no target (a:1:{s:3:"bcc";s:5:"grial";})
     3002 / 32205 (  9.3%)  [2776634 items/min]  skipping pm-4192 `to_user_array` is not properly serialized -- {"bcc"=>"grial"}
pm-4192 has no target (a:1:{s:3:"bcc";s:5:"grial";})
     3003 / 32205 (  9.3%)  [2753579 items/min]  skipping pm-4200 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4200 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3004 / 32205 (  9.3%)  [2736076 items/min]  skipping pm-4207 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4207 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3005 / 32205 (  9.3%)  [2717066 items/min]  skipping pm-4230 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4230 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3006 / 32205 (  9.3%)  [2698241 items/min]  skipping pm-4231 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4231 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3007 / 32205 (  9.3%)  [2681802 items/min]  skipping pm-4232 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4232 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3008 / 32205 (  9.3%)  [2665656 items/min]  skipping pm-4248 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4248 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3009 / 32205 (  9.3%)  [2649867 items/min]  skipping pm-4249 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4249 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3010 / 32205 (  9.3%)  [2635744 items/min]  skipping pm-4253 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4253 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3011 / 32205 (  9.3%)  [2619564 items/min]  skipping pm-4311 `to_user_array` is not properly serialized -- {"bcc"=>"gopikgunda"}
pm-4311 has no target (a:1:{s:3:"bcc";s:10:"gopikgunda";})
     3012 / 32205 (  9.4%)  [2607145 items/min]  skipping pm-4342 `to_user_array` is not properly serialized -- {"bcc"=>"phonedog365"}
pm-4342 has no target (a:1:{s:3:"bcc";s:11:"phonedog365";})
     3013 / 32205 (  9.4%)  [2592727 items/min]  skipping pm-4345 `to_user_array` is not properly serialized -- {"bcc"=>"Shivdatta"}
pm-4345 has no target (a:1:{s:3:"bcc";s:9:"Shivdatta";})
     3014 / 32205 (  9.4%)  [2574597 items/min]  skipping pm-4352 `to_user_array` is not properly serialized -- {"bcc"=>"rockdude"}
pm-4352 has no target (a:1:{s:3:"bcc";s:8:"rockdude";})
     3015 / 32205 (  9.4%)  [2562711 items/min]  skipping pm-4386 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4386 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3016 / 32205 (  9.4%)  [2549188 items/min]  skipping pm-4407 `to_user_array` is not properly serialized -- {"bcc"=>"raghav1982"}
pm-4407 has no target (a:1:{s:3:"bcc";s:10:"raghav1982";})
     3017 / 32205 (  9.4%)  [2533763 items/min]  skipping pm-4418 `to_user_array` is not properly serialized -- {"bcc"=>"ramen_noodle"}
pm-4418 has no target (a:1:{s:3:"bcc";s:12:"ramen_noodle";})
     3018 / 32205 (  9.4%)  [2521530 items/min]  skipping pm-4539 `to_user_array` is not properly serialized -- {"bcc"=>"Sachin Gupta"}
pm-4539 has no target (a:1:{s:3:"bcc";s:12:"Sachin Gupta";})
     3019 / 32205 (  9.4%)  [2507763 items/min]  skipping pm-4546 `to_user_array` is not properly serialized -- {"bcc"=>"cong-lv"}
pm-4546 has no target (a:1:{s:3:"bcc";s:7:"cong-lv";})
     3020 / 32205 (  9.4%)  [2495731 items/min]  skipping pm-4611 `to_user_array` is not properly serialized -- {"bcc"=>"gobinath"}
pm-4611 has no target (a:1:{s:3:"bcc";s:8:"gobinath";})
     3021 / 32205 (  9.4%)  [2481966 items/min]  skipping pm-4614 `to_user_array` is not properly serialized -- {"bcc"=>"scarfake"}
pm-4614 has no target (a:1:{s:3:"bcc";s:8:"scarfake";})
     3022 / 32205 (  9.4%)  [2470577 items/min]  skipping pm-4616 `to_user_array` is not properly serialized -- {"bcc"=>"blowtorch"}
pm-4616 has no target (a:1:{s:3:"bcc";s:9:"blowtorch";})
     3023 / 32205 (  9.4%)  [2454502 items/min]  skipping pm-5456 `to_user_array` is not properly serialized -- {"bcc"=>"Franzlebord"}
pm-5456 has no target (a:1:{s:3:"bcc";s:11:"Franzlebord";})
     4001 / 32205 ( 12.4%)  [2624597 items/min]  skipping pm-5467 `to_user_array` is not properly serialized -- {"bcc"=>"moertono"}
pm-5467 has no target (a:1:{s:3:"bcc";s:8:"moertono";})
     4002 / 32205 ( 12.4%)  [2608371 items/min]  skipping pm-5468 `to_user_array` is not properly serialized -- {"bcc"=>"bullz26"}
pm-5468 has no target (a:1:{s:3:"bcc";s:7:"bullz26";})
     4003 / 32205 ( 12.4%)  [2596854 items/min]  skipping pm-5492 `to_user_array` is not properly serialized -- {"bcc"=>"justintjacob"}
pm-5492 has no target (a:1:{s:3:"bcc";s:12:"justintjacob";})
     4004 / 32205 ( 12.4%)  [2582107 items/min]  skipping pm-5497 `to_user_array` is not properly serialized -- {"bcc"=>"paruthiveeran"}
pm-5497 has no target (a:1:{s:3:"bcc";s:13:"paruthiveeran";})
    23003 / 32205 ( 71.4%)  [2098805 items/min]  
importing attachments...
   815812 / 651396 (125.2%)  SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 2723
   834322 / 651396 (128.1%)  SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 3135
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 3135
  1013769 / 651396 (155.6%)  SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7575
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7576
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7577
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7578
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7584
  1059653 / 651396 (162.7%)  
Closing topics...

Postprocessing posts...
  1059653 / 1059653 (100.0%)  
Creating Permalink File...


Updating bumped_at on topics

Updating last posted at on users

Updating last seen at on users

Updating topic reply counts...
   137992 / 137992 (100.0%)  [7363 items/min]     
Updating first_post_created_at...

Updating user post_count...

Updating user topic_count...

Updating topic users

Updating post timings

Updating featured topic users

Updating featured topics in categories
      123 / 123 (100.0%)  [619 items/min]  n]  
Updating user topic reply counts
   137992 / 137992 (100.0%)  [6994 items/min]  ]  
Resetting topic counters


Done (01h 54min 23sec)

Below is the complete "second full script run" and here is "the plan":

  • Modify vbulletin.rb migration script as required based on errors, missing customer BBCODE tags, and other "first order" issues.
  • rake db:drop db:create db:migrate.
  • dump the vB3 DB again from the main server
  • rerun migration from the start on a '"raked" db
root@localhost-app:/var/www/discourse# su discourse -c 'bundle exec ruby script/import_scripts/vbulletin.rb'
discourse:@localhost wants vb5
Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...

importing groups...
       20 / 20 (100.0%)  [1936324 items/min]  
importing users
   138001 / 138120 ( 99.9%)  [1442012 items/min]   
Creating groups membership...
	Unregistered_Not_Log
	Registered
	Users_Awaiting_Email
	_COPPA_Users_Awaitin
	Super_Moderators
	Administrators
	Read_Only
	Moderators1
	Banned_by_Moderators
	Advisors
	Supporter
	Bouncing_Email
	Elite_Member
	VIP_Member
	Signatures
	Recruiter
	Robots
	Novice_Users
	Event_Predictions_Ma
	Banned_User_IDs

importing all cateories top level categories...
      119 / 119 (100.0%)  [2774499 items/min]  
importing topics...
   200012 / 240477 ( 83.2%)  [920310 items/min]  Exception while creating post thread-243715. Skipping.
PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:65:in `block (2 levels) in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:64:in `block in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block (2 levels) in log'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:102:in `query_values'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/schema_statements.rb:356:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:147:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/schema_cache.rb:49:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:93:in `get_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:80:in `reset_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:68:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:90:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation.rb:570:in `delete_all'
/var/www/discourse/app/models/topic_link.rb:285:in `cleanup_entries'
/var/www/discourse/app/models/topic_link.rb:139:in `extract_from'
/var/www/discourse/lib/post_creator.rb:572:in `extract_links'
/var/www/discourse/lib/post_creator.rb:180:in `block in create'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:174:in `create'
/var/www/discourse/script/import_scripts/base.rb:567:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:515:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:502:in `each'
/var/www/discourse/script/import_scripts/base.rb:502:in `create_posts'
script/import_scripts/vbulletin.rb:330:in `block in import_topics'
/var/www/discourse/script/import_scripts/base.rb:882:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:881:in `loop'
/var/www/discourse/script/import_scripts/base.rb:881:in `batches'
script/import_scripts/vbulletin.rb:313:in `import_topics'
script/import_scripts/vbulletin.rb:85:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/vbulletin.rb:954:in `<main>'
   201001 / 240477 ( 83.6%)  [332847 items/min]  xException while creating post thread-243734. Skipping.
PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:65:in `block (2 levels) in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:64:in `block in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block (2 levels) in log'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:102:in `query_values'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/schema_statements.rb:356:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:147:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/schema_cache.rb:49:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:93:in `get_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:80:in `reset_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:68:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:90:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation.rb:570:in `delete_all'
/var/www/discourse/app/models/topic_link.rb:285:in `cleanup_entries'
/var/www/discourse/app/models/topic_link.rb:139:in `extract_from'
/var/www/discourse/lib/post_creator.rb:572:in `extract_links'
/var/www/discourse/lib/post_creator.rb:180:in `block in create'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:174:in `create'
/var/www/discourse/script/import_scripts/base.rb:567:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:515:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:502:in `each'
/var/www/discourse/script/import_scripts/base.rb:502:in `create_posts'
script/import_scripts/vbulletin.rb:330:in `block in import_topics'
/var/www/discourse/script/import_scripts/base.rb:882:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:881:in `loop'
/var/www/discourse/script/import_scripts/base.rb:881:in `batches'
script/import_scripts/vbulletin.rb:313:in `import_topics'
script/import_scripts/vbulletin.rb:85:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/vbulletin.rb:954:in `<main>'
   201002 / 240477 ( 83.6%)  [231079 items/min]  Exception while creating post thread-243762. Skipping.
PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:65:in `block (2 levels) in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:64:in `block in query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block (2 levels) in log'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `query'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:102:in `query_values'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgresql/schema_statements.rb:356:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:147:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/schema_cache.rb:49:in `primary_keys'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:93:in `get_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:80:in `reset_primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/attribute_methods/primary_key.rb:68:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:90:in `primary_key'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation.rb:570:in `delete_all'
/var/www/discourse/app/models/topic_link.rb:285:in `cleanup_entries'
/var/www/discourse/app/models/topic_link.rb:139:in `extract_from'
/var/www/discourse/lib/post_creator.rb:572:in `extract_links'
/var/www/discourse/lib/post_creator.rb:180:in `block in create'
/var/www/discourse/lib/post_creator.rb:359:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/post_creator.rb:358:in `transaction'
/var/www/discourse/lib/post_creator.rb:174:in `create'
/var/www/discourse/script/import_scripts/base.rb:567:in `create_post'
/var/www/discourse/script/import_scripts/base.rb:515:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:502:in `each'
/var/www/discourse/script/import_scripts/base.rb:502:in `create_posts'
script/import_scripts/vbulletin.rb:330:in `block in import_topics'
/var/www/discourse/script/import_scripts/base.rb:882:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:881:in `loop'
/var/www/discourse/script/import_scripts/base.rb:881:in `batches'
script/import_scripts/vbulletin.rb:313:in `import_topics'
script/import_scripts/vbulletin.rb:85:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/vbulletin.rb:954:in `<main>'
   236002 / 240477 ( 98.1%)  [179988 items/min]  
importing posts...
   643001 / 651396 ( 98.7%)  [1974503 items/min]  
importing private messages...
skipping pm-2068 `to_user_array` is not properly serialized -- {"bcc"=>"madEG"}
pm-2068 has no target (a:1:{s:3:"bcc";s:5:"madEG";})
     1001 / 32205 (  3.1%)  [4272085 items/min]  skipping pm-2084 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-2084 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     1002 / 32205 (  3.1%)  [3945003 items/min]  skipping pm-2099 `to_user_array` is not properly serialized -- {"bcc"=>"jamcalicut"}
pm-2099 has no target (a:1:{s:3:"bcc";s:10:"jamcalicut";})
     1003 / 32205 (  3.1%)  [3655451 items/min]  skipping pm-2100 `to_user_array` is not properly serialized -- {"bcc"=>"arunkumar_mca"}
pm-2100 has no target (a:1:{s:3:"bcc";s:13:"arunkumar_mca";})
     1004 / 32205 (  3.1%)  [3458157 items/min]  skipping pm-2106 `to_user_array` is not properly serialized -- {"bcc"=>"thanusha"}
pm-2106 has no target (a:1:{s:3:"bcc";s:8:"thanusha";})
     1005 / 32205 (  3.1%)  [3408788 items/min]  skipping pm-2108 `to_user_array` is not properly serialized -- {"bcc"=>"Danielillo300"}
pm-2108 has no target (a:1:{s:3:"bcc";s:13:"Danielillo300";})
     1006 / 32205 (  3.1%)  [3371808 items/min]  skipping pm-2110 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-2110 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     1007 / 32205 (  3.1%)  [3336760 items/min]  skipping pm-2111 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-2111 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     1008 / 32205 (  3.1%)  [3304712 items/min]  skipping pm-2117 `to_user_array` is not properly serialized -- {"bcc"=>"cskumar"}
pm-2117 has no target (a:1:{s:3:"bcc";s:7:"cskumar";})
     1009 / 32205 (  3.1%)  [3272906 items/min]  skipping pm-2118 `to_user_array` is not properly serialized -- {"bcc"=>"cskumar"}
pm-2118 has no target (a:1:{s:3:"bcc";s:7:"cskumar";})
     1010 / 32205 (  3.1%)  [3243364 items/min]  skipping pm-2215 `to_user_array` is not properly serialized -- {"bcc"=>"sharif.rizal"}
pm-2215 has no target (a:1:{s:3:"bcc";s:12:"sharif.rizal";})
     1011 / 32205 (  3.1%)  [3176725 items/min]  skipping pm-2231 `to_user_array` is not properly serialized -- {"bcc"=>"ringofsteel"}
pm-2231 has no target (a:1:{s:3:"bcc";s:11:"ringofsteel";})
     1012 / 32205 (  3.1%)  [3028294 items/min]  skipping pm-2238 `to_user_array` is not properly serialized -- {"bcc"=>"aishu"}
pm-2238 has no target (a:1:{s:3:"bcc";s:5:"aishu";})
     1013 / 32205 (  3.1%)  [2866952 items/min]  skipping pm-2243 `to_user_array` is not properly serialized -- {"bcc"=>"krishnan_6015@y"}
pm-2243 has no target (a:1:{s:3:"bcc";s:15:"krishnan_6015@y";})
     1014 / 32205 (  3.1%)  [2745019 items/min]  skipping pm-2252 `to_user_array` is not properly serialized -- {"bcc"=>"thumper"}
pm-2252 has no target (a:1:{s:3:"bcc";s:7:"thumper";})
     1015 / 32205 (  3.2%)  [2626413 items/min]  skipping pm-2253 `to_user_array` is not properly serialized -- {"bcc"=>"thumper"}
pm-2253 has no target (a:1:{s:3:"bcc";s:7:"thumper";})
     1016 / 32205 (  3.2%)  [2533819 items/min]  skipping pm-2257 `to_user_array` is not properly serialized -- {"bcc"=>"kezzol"}
pm-2257 has no target (a:1:{s:3:"bcc";s:6:"kezzol";})
     1017 / 32205 (  3.2%)  [2442497 items/min]  skipping pm-2260 `to_user_array` is not properly serialized -- {"bcc"=>"elzalem"}
pm-2260 has no target (a:1:{s:3:"bcc";s:7:"elzalem";})
     1018 / 32205 (  3.2%)  [2365107 items/min]  skipping pm-2298 `to_user_array` is not properly serialized -- {"bcc"=>"sakthi_13"}
pm-2298 has no target (a:1:{s:3:"bcc";s:9:"sakthi_13";})
     1019 / 32205 (  3.2%)  [2304363 items/min]  skipping pm-2305 `to_user_array` is not properly serialized -- {"bcc"=>"user_prady"}
pm-2305 has no target (a:1:{s:3:"bcc";s:10:"user_prady";})
     1020 / 32205 (  3.2%)  [2191179 items/min]  skipping pm-2312 `to_user_array` is not properly serialized -- {"bcc"=>"mvictorvijayan"}
pm-2312 has no target (a:1:{s:3:"bcc";s:14:"mvictorvijayan";})
     1021 / 32205 (  3.2%)  [2142214 items/min]  skipping pm-2318 `to_user_array` is not properly serialized -- {"bcc"=>"Tanvirk"}
pm-2318 has no target (a:1:{s:3:"bcc";s:7:"Tanvirk";})
     1022 / 32205 (  3.2%)  [2097679 items/min]  skipping pm-2322 `to_user_array` is not properly serialized -- {"bcc"=>"Tanvirk"}
pm-2322 has no target (a:1:{s:3:"bcc";s:7:"Tanvirk";})
     1023 / 32205 (  3.2%)  [2051908 items/min]  skipping pm-2330 `to_user_array` is not properly serialized -- {"bcc"=>"nathan"}
pm-2330 has no target (a:1:{s:3:"bcc";s:6:"nathan";})
     1024 / 32205 (  3.2%)  [2012734 items/min]  skipping pm-2331 `to_user_array` is not properly serialized -- {"bcc"=>"nathan"}
pm-2331 has no target (a:1:{s:3:"bcc";s:6:"nathan";})
     1025 / 32205 (  3.2%)  [1971348 items/min]  skipping pm-2341 `to_user_array` is not properly serialized -- {"bcc"=>"udhayashankar"}
pm-2341 has no target (a:1:{s:3:"bcc";s:13:"udhayashankar";})
     1026 / 32205 (  3.2%)  [1936010 items/min]  skipping pm-2391 `to_user_array` is not properly serialized -- {"bcc"=>"royal"}
pm-2391 has no target (a:1:{s:3:"bcc";s:5:"royal";})
     1027 / 32205 (  3.2%)  [1910726 items/min]  skipping pm-2401 `to_user_array` is not properly serialized -- {"bcc"=>"deckard"}
pm-2401 has no target (a:1:{s:3:"bcc";s:7:"deckard";})
     1028 / 32205 (  3.2%)  [1876185 items/min]  skipping pm-2404 `to_user_array` is not properly serialized -- {"bcc"=>"MaestroRage"}
pm-2404 has no target (a:1:{s:3:"bcc";s:11:"MaestroRage";})
     1029 / 32205 (  3.2%)  [1842665 items/min]  skipping pm-2405 `to_user_array` is not properly serialized -- {"bcc"=>"zoom"}
pm-2405 has no target (a:1:{s:3:"bcc";s:4:"zoom";})
     1030 / 32205 (  3.2%)  [1798485 items/min]  skipping pm-2465 `to_user_array` is not properly serialized -- {"bcc"=>"bhanu6us"}
pm-2465 has no target (a:1:{s:3:"bcc";s:8:"bhanu6us";})
     1031 / 32205 (  3.2%)  [1756238 items/min]  skipping pm-2468 `to_user_array` is not properly serialized -- {"bcc"=>"srichunduru"}
pm-2468 has no target (a:1:{s:3:"bcc";s:11:"srichunduru";})
     1032 / 32205 (  3.2%)  [1723526 items/min]  skipping pm-2480 `to_user_array` is not properly serialized -- {"bcc"=>"Sergiu-IT"}
pm-2480 has no target (a:1:{s:3:"bcc";s:9:"Sergiu-IT";})
     1033 / 32205 (  3.2%)  [1686706 items/min]  skipping pm-2496 `to_user_array` is not properly serialized -- {"bcc"=>"vpandey"}
pm-2496 has no target (a:1:{s:3:"bcc";s:7:"vpandey";})
     1034 / 32205 (  3.2%)  [1645478 items/min]  skipping pm-2514 `to_user_array` is not properly serialized -- {"bcc"=>"Vitamin254"}
pm-2514 has no target (a:1:{s:3:"bcc";s:10:"Vitamin254";})
     1035 / 32205 (  3.2%)  [1617776 items/min]  skipping pm-2523 `to_user_array` is not properly serialized -- {"bcc"=>"bryan_adams"}
pm-2523 has no target (a:1:{s:3:"bcc";s:11:"bryan_adams";})
     1036 / 32205 (  3.2%)  [1592926 items/min]  skipping pm-2545 `to_user_array` is not properly serialized -- {"bcc"=>"malaisamya"}
pm-2545 has no target (a:1:{s:3:"bcc";s:10:"malaisamya";})
     1037 / 32205 (  3.2%)  [1561748 items/min]  skipping pm-4109 `to_user_array` is not properly serialized -- {"bcc"=>"qwbouqd"}
pm-4109 has no target (a:1:{s:3:"bcc";s:7:"qwbouqd";})
     3001 / 32205 (  9.3%)  [2795148 items/min]  skipping pm-4191 `to_user_array` is not properly serialized -- {"bcc"=>"grial"}
pm-4191 has no target (a:1:{s:3:"bcc";s:5:"grial";})
     3002 / 32205 (  9.3%)  [2776634 items/min]  skipping pm-4192 `to_user_array` is not properly serialized -- {"bcc"=>"grial"}
pm-4192 has no target (a:1:{s:3:"bcc";s:5:"grial";})
     3003 / 32205 (  9.3%)  [2753579 items/min]  skipping pm-4200 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4200 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3004 / 32205 (  9.3%)  [2736076 items/min]  skipping pm-4207 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4207 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3005 / 32205 (  9.3%)  [2717066 items/min]  skipping pm-4230 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4230 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3006 / 32205 (  9.3%)  [2698241 items/min]  skipping pm-4231 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4231 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3007 / 32205 (  9.3%)  [2681802 items/min]  skipping pm-4232 `to_user_array` is not properly serialized -- {"bcc"=>"eagercyber"}
pm-4232 has no target (a:1:{s:3:"bcc";s:10:"eagercyber";})
     3008 / 32205 (  9.3%)  [2665656 items/min]  skipping pm-4248 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4248 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3009 / 32205 (  9.3%)  [2649867 items/min]  skipping pm-4249 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4249 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3010 / 32205 (  9.3%)  [2635744 items/min]  skipping pm-4253 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-4253 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     3011 / 32205 (  9.3%)  [2619564 items/min]  skipping pm-4311 `to_user_array` is not properly serialized -- {"bcc"=>"gopikgunda"}
pm-4311 has no target (a:1:{s:3:"bcc";s:10:"gopikgunda";})
     3012 / 32205 (  9.4%)  [2607145 items/min]  skipping pm-4342 `to_user_array` is not properly serialized -- {"bcc"=>"phonedog365"}
pm-4342 has no target (a:1:{s:3:"bcc";s:11:"phonedog365";})
     3013 / 32205 (  9.4%)  [2592727 items/min]  skipping pm-4345 `to_user_array` is not properly serialized -- {"bcc"=>"Shivdatta"}
pm-4345 has no target (a:1:{s:3:"bcc";s:9:"Shivdatta";})
     3014 / 32205 (  9.4%)  [2574597 items/min]  skipping pm-4352 `to_user_array` is not properly serialized -- {"bcc"=>"rockdude"}
pm-4352 has no target (a:1:{s:3:"bcc";s:8:"rockdude";})
     3015 / 32205 (  9.4%)  [2562711 items/min]  skipping pm-4386 `to_user_array` is not properly serialized -- {"bcc"=>"cassj"}
pm-4386 has no target (a:1:{s:3:"bcc";s:5:"cassj";})
     3016 / 32205 (  9.4%)  [2549188 items/min]  skipping pm-4407 `to_user_array` is not properly serialized -- {"bcc"=>"raghav1982"}
pm-4407 has no target (a:1:{s:3:"bcc";s:10:"raghav1982";})
     3017 / 32205 (  9.4%)  [2533763 items/min]  skipping pm-4418 `to_user_array` is not properly serialized -- {"bcc"=>"ramen_noodle"}
pm-4418 has no target (a:1:{s:3:"bcc";s:12:"ramen_noodle";})
     3018 / 32205 (  9.4%)  [2521530 items/min]  skipping pm-4539 `to_user_array` is not properly serialized -- {"bcc"=>"Sachin Gupta"}
pm-4539 has no target (a:1:{s:3:"bcc";s:12:"Sachin Gupta";})
     3019 / 32205 (  9.4%)  [2507763 items/min]  skipping pm-4546 `to_user_array` is not properly serialized -- {"bcc"=>"cong-lv"}
pm-4546 has no target (a:1:{s:3:"bcc";s:7:"cong-lv";})
     3020 / 32205 (  9.4%)  [2495731 items/min]  skipping pm-4611 `to_user_array` is not properly serialized -- {"bcc"=>"gobinath"}
pm-4611 has no target (a:1:{s:3:"bcc";s:8:"gobinath";})
     3021 / 32205 (  9.4%)  [2481966 items/min]  skipping pm-4614 `to_user_array` is not properly serialized -- {"bcc"=>"scarfake"}
pm-4614 has no target (a:1:{s:3:"bcc";s:8:"scarfake";})
     3022 / 32205 (  9.4%)  [2470577 items/min]  skipping pm-4616 `to_user_array` is not properly serialized -- {"bcc"=>"blowtorch"}
pm-4616 has no target (a:1:{s:3:"bcc";s:9:"blowtorch";})
     3023 / 32205 (  9.4%)  [2454502 items/min]  skipping pm-5456 `to_user_array` is not properly serialized -- {"bcc"=>"Franzlebord"}
pm-5456 has no target (a:1:{s:3:"bcc";s:11:"Franzlebord";})
     4001 / 32205 ( 12.4%)  [2624597 items/min]  skipping pm-5467 `to_user_array` is not properly serialized -- {"bcc"=>"moertono"}
pm-5467 has no target (a:1:{s:3:"bcc";s:8:"moertono";})
     4002 / 32205 ( 12.4%)  [2608371 items/min]  skipping pm-5468 `to_user_array` is not properly serialized -- {"bcc"=>"bullz26"}
pm-5468 has no target (a:1:{s:3:"bcc";s:7:"bullz26";})
     4003 / 32205 ( 12.4%)  [2596854 items/min]  skipping pm-5492 `to_user_array` is not properly serialized -- {"bcc"=>"justintjacob"}
pm-5492 has no target (a:1:{s:3:"bcc";s:12:"justintjacob";})
     4004 / 32205 ( 12.4%)  [2582107 items/min]  skipping pm-5497 `to_user_array` is not properly serialized -- {"bcc"=>"paruthiveeran"}
pm-5497 has no target (a:1:{s:3:"bcc";s:13:"paruthiveeran";})
    23003 / 32205 ( 71.4%)  [2098805 items/min]  
importing attachments...
   815812 / 651396 (125.2%)  SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 2723
   834322 / 651396 (128.1%)  SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 3135
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 3135
  1013769 / 651396 (155.6%)  SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7575
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7576
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7577
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7578
SQL Error
Table 'vb5.filedata' doesn't exist
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
             LEFT JOIN filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = 7584
  1059653 / 651396 (162.7%)  
Closing topics...

Postprocessing posts...
  1059653 / 1059653 (100.0%)  
Creating Permalink File...


Updating bumped_at on topics

Updating last posted at on users

Updating last seen at on users

Updating topic reply counts...
   137992 / 137992 (100.0%)  [7363 items/min]     
Updating first_post_created_at...

Updating user post_count...

Updating user topic_count...

Updating topic users

Updating post timings

Updating featured topic users

Updating featured topics in categories
      123 / 123 (100.0%)  [619 items/min]  n]  
Updating user topic reply counts
   137992 / 137992 (100.0%)  [6994 items/min]  ]  
Resetting topic counters


Done (01h 54min 23sec)

REF:

discourse/vbulletin.rb at master . discourse/discourse . GitHub

The migration code below calls for a table ' filedata' which does not exist on our version of vb3 .

  sql = "SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM #{TABLE_PREFIX}attachment a
             LEFT JOIN #{TABLE_PREFIX}filedata fd ON fd.filedataid = a.filedataid
            WHERE a.attachmentid = #{attachment_id}"
    results = mysql_query(sql)

I think I will try to rerun this without:

      LEFT JOIN #{TABLE_PREFIX}filedata fd ON fd.filedataid = a.filedataid

Since filedata , the table, does not exist.

Regarding this "pm migration errors"

importing private messages...
skipping pm-2068 `to_user_array` is not properly serialized -- {"bcc"=>"madEG"}
pm-2068 has no target (a:1:{s:3:"bcc";s:5:"madEG";})
     1001 / 32205 (  3.1%)  [4272085 items/min]  skipping pm-2084 `to_user_array` is not properly serialized -- {"bcc"=>"vino"}
pm-2084 has no target (a:1:{s:3:"bcc";s:4:"vino";})
     1002 / 32205 (  3.1%)  [3945003 items/min]  skipping pm-2099 `to_user_array` is not properly serialized -- {"bcc"=>"jamcalicut"}
pm-2099 has no target (a:1:{s:3:"bcc";s:10:"jamcalicut";})
     1003 / 32205 (  3.1%)  [3655451 items/min]  skipping pm-2100 `to_user_array` is not properly serialized -- {"bcc"=>"arunkumar_mca"}
pm-2100 has no target (a:1:{s:3:"bcc";s:13:"arunkumar_mca";})
     1004 / 32205 (  3.1%)  [3458157 items/min]  skipping pm-2106 `to_user_array` is not properly serialized -- {"bcc"=>"thanusha"}
pm-2106 has no target (a:1:{s:3:"bcc";s:8:"thanusha";})
     1005 / 32205 (  3.1%)  [3408788 items/min]  skipping pm-2108 `to_user_array` is not properly serialized -- {"bcc"=>"Danielillo300"}

  blah, blah, blah

I think I'll look at the code and just comment this out, if necessary, as there is no compelling reason to spend a lot of time on migrating pms "perfectly", I think,.

EDIT: On second thought, "skipping these handful of pms" is not going to harm the migration, so I think I will 'let this be" and move on.

Commenting out, as I suspected did not fix the error, and as expected, commenting out the JOIN just exposed other issues:

Unknown column 'a.filedataid' in 'field list'
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
            WHERE a.attachmentid = 3135
  1013769 / 651396 (155.6%)  SQL Error
Unknown column 'a.filedataid' in 'field list'
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
            WHERE a.attachmentid = 7575
SQL Error
Unknown column 'a.filedataid' in 'field list'
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
            WHERE a.attachmentid = 7576
SQL Error
Unknown column 'a.filedataid' in 'field list'
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
            WHERE a.attachmentid = 7577
SQL Error
Unknown column 'a.filedataid' in 'field list'
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
            WHERE a.attachmentid = 7578
SQL Error
Unknown column 'a.filedataid' in 'field list'
SELECT a.attachmentid attachment_id, a.userid user_id, a.filedataid file_id, a.filename filename,
                  LENGTH(fd.filedata) AS dbsize, filedata, a.caption caption
             FROM attachment a
            WHERE a.attachmentid = 7584
  1059653 / 651396 (162.7%)  

However, this only effects around 8 attachments (over the lifetime of the forums), so I think we can live with 6 "skips" for sure.

:slight_smile:

Looking at the test bed:

[ul]
[li]Node-RED
[/li][li]LAMP (Linux, Apache2, MySQL, PHP)
[/li][li]Telegram (the messaging app)
[/li][/ul]

The key Node-RED modules / nodes used:

[ul]
[li]exec : runs a system command and returns its output
[/li][li]node-red-contrib-telegrambot
[/li][/ul]

These various list code tags are not working in migration.

Now, installing this discourse plugin to see if it solved the BBCODE issue above:

GitHub - discourse/discourse-bbcode: vBulletin BBCode plugin

https://github.com/discourse/discourse-bbcode

Following basic Discourse install instructions to install this:

GitHub - discourse/discourse-bbcode: vBulletin BBCode plugin

Basically, editing and adding the plugin here:

/var/discourse/containers/app.yml

and then:

./launch rebuild app

Tried one, and did not work.

Trying again..... now.

Hmmm. That vbulletin-bbcode plug did not help:

Well, over at meta discourse, they have been "kinda bullying me" to upgrade vB3 to vB4, but when I started the discussion over there with the fact it is a non-starter.

First, they told me to migrate to vB4; then they told me the would help us upgrade to vB3 and we would all work together, then they backtracked and closed the discussion.

I guess when you have forum which has been around for over 15 years and helped upwards of 600 million unique users, this is the payback :slight_smile:

What is the old saying "No good deed goes unpunished".

LOL

Even thought there is no upgrade path to get vB4 (and has not been for some time). See control panel:

It's obvious we cannot buy vB4 updates... and it's obvious that Discourse it not going to help with vB3. They have made this clear by kinda bulling me over there, advising strongly we upgrade to an upgrade which does not exist for us.

LOL

So, as I thought before. I will have to do this all my myself; but at least we have a starting point vbulletin.rb script I can modify.

Let's THANK Discourse for that. and THANK them for Discourse.

I understand these folks at Discourse. Dealing with vB forums are a pain (especially vB3) and not fun at all. I know, I have owned one for over 15 years :slight_smile:

The bottom line is that Discourse does not support vB3 migration to Discourse, they have made that very clear over the past few days.

(and it is perfectly OK they don't.... I understand their viewpoint, but they do not understand vB versions, licensing.... and make recommendations which are impossible to follow... sadly)

In a nutshell, it all boils down to Discourse does not support vB3 migration, period.

This is interesting... just saw this in the vB control panel... we started running vB 20 years ago.

Update:

In a docker container app, it is painfully slow to update the raw posts in the postgres DB.

So, as an experiment, i spent a few hours and changed about 10 BBCODE tags using search and replace in the raw posts. Each time took at least 30 minutes.

Now, I'm rebaking the posts to see if the changes I made on the raw posts will show up in the cooked version after rebaking.

root@localhost-app:/var/www/discourse# rake posts:rebake
Rebaking post markdown for 'default'

Hi Neo,

I assume nobody ever will do a migration/upgrade of a software like the vBulletin used at unix.com for a fixed price. That's beause I assume vBulletin here is absolutely heavily customized, to get really advanced and unique features, so the chances that the upgrade scripts will fail are very high. But I'm not sure for that.

That's the cost of customizations:

  1. Customizations may interfere with upgrade procedures
  2. Customized functionality may not work after an upgrade, and need to be fixed and maybe integrated in other ways.

So maybe to just customize the vb-importer of discourse is the best way to go. But hey - if someone says he/she can upgrade the current installation for a relatively small price, why not give a try....