128 lines
4.2 KiB
PHP
128 lines
4.2 KiB
PHP
<?php
|
|
|
|
include "AutoLoader.php";
|
|
|
|
use Animarr\Database;
|
|
use Animarr\Filter;
|
|
use Animarr\Release\Release;
|
|
use Animarr\Release\MultiRelease;
|
|
use Animarr\Downloader;
|
|
use Animarr\Torrent\Torrent;
|
|
use Animarr\Source\SourceList;
|
|
|
|
/*
|
|
function errHandle($errNo, $errStr, $errFile, $errLine) {
|
|
$msg = "$errStr in $errFile on line $errLine";
|
|
if ($errNo == E_NOTICE || $errNo == E_WARNING) {
|
|
throw new ErrorException($msg, $errNo);
|
|
} else {
|
|
echo $msg;
|
|
}
|
|
}
|
|
|
|
set_error_handler('errHandle');
|
|
*/
|
|
ini_set('memory_limit', '2048M');
|
|
setlocale(LC_CTYPE, "en_US.UTF-8");
|
|
|
|
chdir(__DIR__ . "/" . "..");
|
|
|
|
Database::parseConfig($argv[1]);
|
|
Downloader::log("Starting config...");
|
|
|
|
Downloader::log("Loading Database...");
|
|
|
|
$user = Database::getConfigKey("database.psql.user");
|
|
$pass = Database::getConfigKey("database.psql.password");
|
|
$host = Database::getConfigKey("database.psql.host");
|
|
$dbname = Database::getConfigKey("database.psql.dbname", "animarr");
|
|
$dbnew = pg_connect("host=$host user=$user password=$pass dbname=$dbname");
|
|
//pg_query(file_get_contents("db.sql"));
|
|
|
|
$dbold = new \SQLite3($argv[2]);
|
|
|
|
$q = $dbold->query("SELECT * FROM tracked;");
|
|
$count = $dbold->query("SELECT COUNT(*) as count FROM tracked;")->fetchArray(SQLITE3_ASSOC)["count"];
|
|
pg_query($dbnew, "BEGIN");
|
|
$i = 0;
|
|
while(($row = $q->fetchArray(SQLITE3_ASSOC)) !== false){
|
|
echo "\rproc tracked ".(++$i)."/".$count. " " . $row["aid"];
|
|
$sql = "INSERT INTO tracked ({keys}) VALUES ({kvalues}) ON CONFLICT DO NOTHING;";
|
|
$keys = [];
|
|
$kvalues = [];
|
|
|
|
foreach($row as $k => $value){
|
|
$keys[] = $k;
|
|
$kvalues[] = '$' . (count($kvalues) + 1);
|
|
}
|
|
pg_query_params($dbnew, str_replace(["{keys}", "{kvalues}"], [implode(", ", $keys), implode(", ", $kvalues)], $sql), $row);
|
|
}
|
|
$q->finalize();
|
|
pg_query($dbnew, "COMMIT");
|
|
|
|
$q = $dbold->query("SELECT * FROM releases;");
|
|
$count = $dbold->query("SELECT COUNT(*) as count FROM releases;")->fetchArray(SQLITE3_ASSOC)["count"];
|
|
pg_query($dbnew, "BEGIN");
|
|
$i = 0;
|
|
while(($row = $q->fetchArray(SQLITE3_ASSOC)) !== false){
|
|
echo "\rproc releases ".(++$i)."/".$count. " " . $row["release_id"];
|
|
$sql = "INSERT INTO releases ({keys}) VALUES ({kvalues}) ON CONFLICT DO NOTHING;";
|
|
$keys = [];
|
|
$kvalues = [];
|
|
|
|
foreach($row as $k => $value){
|
|
if($k === "release_data"){
|
|
$row[$k] = base64_decode($value);
|
|
}
|
|
$keys[] = $k;
|
|
$kvalues[] = '$' . (count($kvalues) + 1);
|
|
}
|
|
pg_query_params($dbnew, str_replace(["{keys}", "{kvalues}"], [implode(", ", $keys), implode(", ", $kvalues)], $sql), $row);
|
|
}
|
|
$q->finalize();
|
|
pg_query($dbnew, "COMMIT");
|
|
|
|
|
|
$q = $dbold->query("SELECT * FROM episodes_releases;");
|
|
$count = $dbold->query("SELECT COUNT(*) as count FROM episodes_releases;")->fetchArray(SQLITE3_ASSOC)["count"];
|
|
pg_query($dbnew, "BEGIN");
|
|
$i = 0;
|
|
while(($row = $q->fetchArray(SQLITE3_ASSOC)) !== false){
|
|
echo "\rproc episodes_releases ".(++$i)."/".$count. " " . $row["release_id"];
|
|
$sql = "INSERT INTO episodes_releases ({keys}) VALUES ({kvalues}) ON CONFLICT DO NOTHING;";
|
|
$keys = [];
|
|
$kvalues = [];
|
|
|
|
foreach($row as $k => $value){
|
|
if($k === "release_data"){
|
|
$row[$k] = base64_decode($value);
|
|
}
|
|
$keys[] = $k;
|
|
$kvalues[] = '$' . (count($kvalues) + 1);
|
|
}
|
|
pg_query_params($dbnew, str_replace(["{keys}", "{kvalues}"], [implode(", ", $keys), implode(", ", $kvalues)], $sql), $row);
|
|
}
|
|
$q->finalize();
|
|
pg_query($dbnew, "COMMIT");
|
|
|
|
$q = $dbold->query("SELECT * FROM tracked_releases;");
|
|
$count = $dbold->query("SELECT COUNT(*) as count FROM tracked_releases;")->fetchArray(SQLITE3_ASSOC)["count"];
|
|
pg_query($dbnew, "BEGIN");
|
|
$i = 0;
|
|
while(($row = $q->fetchArray(SQLITE3_ASSOC)) !== false){
|
|
echo "\rproc tracked_releases ".(++$i)."/".$count. " " . $row["release_id"];
|
|
$sql = "INSERT INTO tracked_releases ({keys}) VALUES ({kvalues}) ON CONFLICT DO NOTHING;";
|
|
$keys = [];
|
|
$kvalues = [];
|
|
|
|
foreach($row as $k => $value){
|
|
if($k === "release_data"){
|
|
$row[$k] = base64_decode($value);
|
|
}
|
|
$keys[] = $k;
|
|
$kvalues[] = '$' . (count($kvalues) + 1);
|
|
}
|
|
pg_query_params($dbnew, str_replace(["{keys}", "{kvalues}"], [implode(", ", $keys), implode(", ", $kvalues)], $sql), $row);
|
|
}
|
|
$q->finalize();
|
|
pg_query($dbnew, "COMMIT"); |