set olddb [ns_db gethandle acs32] # NOTE: only migrates minimum: email, name, passwd, url # for posting users set selection [ns_db select $olddb " select last_name, first_names, email, password, url, user_id as old_user_id from users where user_id in (select distinct user_id from bboard) "] set n_tried_old 0 set new_user_sql " select user_id as new_lookup_id, email from cc_users where email=:email" set mapped_user_sql " select old_user_id as old_map_id, new_user_id as new_map_id from migr_user_map where old_user_id=:old_user_id" set nil [set new [set map [list]]] db_transaction { while { [ns_db getrow $olddb $selection] } { set_variables_after_query incr n_tried_old if [db_0or1row tt $new_user_sql] { if [db_0or1row r $mapped_user_sql] { set new_id $new_map_id set action "nil" } else { db_dml q "insert into migr_user_map (old_user_id, new_user_id) values ($old_user_id, $new_lookup_id)" set new_id $new_lookup_id set action "map" } } else { set new_created_id [ad_user_new $email $first_names $last_name $password "" "" $url "t" "approved" ""] db_dml q "insert into migr_user_map (old_user_id, new_user_id) values ($old_user_id, $new_created_id)" # set new_created_id newtest set new_id $new_created_id set action "new" } lappend $action " $old_user_id => $new_id: $last_name, $first_names $email
" append output "$action: $old_user_id => $new_id: $last_name, $first_names $email
" } } on_error { set output "

Error:

$errmsg


$output" } ns_db releasehandle $olddb ns_return 200 text/html " Migratonicuserfama

Migrating Users

Unsorted Output:

$output

Sorted Output:

[llength $nil] nil -- users already created & mapped

[join $nil]

[llength $map] map -- users already created, but unmapped

[join $map]

[llength $new] new -- uncreated and unmapped

[join $new]

"