ljr/livejournal/bin/upgrading/d1d2-single.pl

42 lines
1.2 KiB
Perl
Raw Normal View History

2019-02-05 21:49:12 +00:00
#!/usr/bin/perl
#
use strict;
require "$ENV{'LJHOME'}/cgi-bin/ljlib.pl";
my $dbh = LJ::get_dbh("master");
my $user = shift @ARGV;
my $where = "dversion=1 LIMIT 1";
if ($user) {
$where = "user=" . $dbh->quote($user);
}
my $u = $dbh->selectrow_hashref("SELECT * FROM user WHERE $where");
unless ($u) {
die "No users with dversion==1 to convert. Done.\n" unless $user;
die "User not found.\n";
}
die "User not dversion 1\n" unless $u->{'dversion'} == 1;
my $dbch = LJ::get_cluster_master($u);
die "Can't connect to cluster master.\n" unless $dbch;
print "$u->{'user'}:\n";
my @pics = @{$dbh->selectcol_arrayref("SELECT picid FROM userpic WHERE ".
"userid=$u->{'userid'}")};
foreach my $picid (@pics) {
print " $picid...\n";
my $imagedata = $dbh->selectrow_array("SELECT imagedata FROM userpicblob ".
"WHERE picid=$picid");
$imagedata = $dbh->quote($imagedata);
$dbch->do("REPLACE INTO userpicblob2 (userid, picid, imagedata) VALUES ".
"($u->{'userid'}, $picid, $imagedata)");
}
$dbh->do("UPDATE user SET dversion=2 WHERE userid=$u->{'userid'}");
print "Done.\n";