Add script to build db for 0.6.7 and comments in INSTALL.md
This commit is contained in:
parent
3929441d33
commit
c46e9a3767
12
INSTALL.md
12
INSTALL.md
|
@ -46,11 +46,17 @@ Upgrading:
|
||||||
|
|
||||||
1. Disable cron job and kill any running nntp servers (ps aux | grep nntp)
|
1. Disable cron job and kill any running nntp servers (ps aux | grep nntp)
|
||||||
|
|
||||||
2. Run upgrade script and answer promts
|
2. BACKUP spool dir. Default example: 'cd /var/spool' then 'tar zcvf rslight.tgz rslight/*'
|
||||||
|
|
||||||
3. Compare upgrade config files in config dir /upgrade and change your exsiting config as necessary
|
3. Run upgrade script and answer prompts
|
||||||
|
|
||||||
4. Enable cron job and check that everything works after it runs the first time
|
4. Compare upgrade config files in config dir /upgrade and change your exsiting config as necessary
|
||||||
|
|
||||||
|
5. If upgrading from a version prior to 0.6.7 it is REQUIRED to run the provided
|
||||||
|
script 'build-overview-db.php' at this point. Read the script for instructions.
|
||||||
|
NOTE: If upgrading and your spool dir does not include any files ending in .db3, you need to do this.
|
||||||
|
|
||||||
|
6. Enable cron job and check that everything works after it runs the first time
|
||||||
|
|
||||||
If you have trouble, post to rocksolid.nodes.help and we'll try to help.
|
If you have trouble, post to rocksolid.nodes.help and we'll try to help.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
<?php
|
||||||
|
####################
|
||||||
|
# This script creates articles-overview.db3 in your spool directory from
|
||||||
|
# pre 0.6.7 -overview files
|
||||||
|
# This is REQUIRED to upgrade from pre 0.6.7 versions
|
||||||
|
# This script MUST be run as your web user (debian = www-data)
|
||||||
|
#
|
||||||
|
# To create the file do the following:
|
||||||
|
# Disable access to site (to disallow posting)
|
||||||
|
# Disable cron job for rslight
|
||||||
|
# Disable rslight nntp servers running (kill PID)
|
||||||
|
# cd to your spool directory. Default is /var/spool/rslight
|
||||||
|
# For each section you must run this script:
|
||||||
|
# php /path/to/script rocksolid
|
||||||
|
# php /path/to/script spoolnews
|
||||||
|
# php /path/to/script othersection
|
||||||
|
# etc...
|
||||||
|
# Re-enable cron job and access to site
|
||||||
|
# That should be all that is necessary
|
||||||
|
####################
|
||||||
|
|
||||||
|
$database = 'articles-overview.db3';
|
||||||
|
$table = 'overview';
|
||||||
|
$dbh = rslight_db_open($database, $table);
|
||||||
|
|
||||||
|
$sql = "INSERT INTO overview(newsgroup, number, msgid, date, name, subject) VALUES(?,?,?,?,?,?)";
|
||||||
|
$stmt = $dbh->prepare($sql);
|
||||||
|
$overviewfp = fopen($argv[1].'-overview', 'r');
|
||||||
|
echo "Building $database";
|
||||||
|
$i = 0;
|
||||||
|
while($data=fgets($overviewfp)) {
|
||||||
|
$parts=preg_split("/(:#rsl#:|\t)/", $data);;
|
||||||
|
$stmt->execute([$parts[0], $parts[1], $parts[2], $parts[3], $parts[4], $parts[5]]);
|
||||||
|
if($i++ > 100) {
|
||||||
|
echo '.';
|
||||||
|
$i = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "\nFinished.\n";
|
||||||
|
fclose($overviewfp);
|
||||||
|
$dbh = null;
|
||||||
|
|
||||||
|
function rslight_db_open($database, $table) {
|
||||||
|
try {
|
||||||
|
$dbh = new PDO('sqlite:'.$database);
|
||||||
|
} catch (PDOExeption $e) {
|
||||||
|
echo 'Connection failed: '.$e->getMessage();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$dbh->exec("CREATE TABLE IF NOT EXISTS $table(
|
||||||
|
id INTEGER PRIMARY KEY,
|
||||||
|
newsgroup TEXT,
|
||||||
|
number TEXT,
|
||||||
|
msgid TEXT,
|
||||||
|
date TEXT,
|
||||||
|
name TEXT,
|
||||||
|
subject TEXT)");
|
||||||
|
return($dbh);
|
||||||
|
}
|
||||||
|
?>
|
Loading…
Reference in New Issue