forked from GithubBackups/tinyib
Fix migrating to PostgreSQL database
This commit is contained in:
parent
90b1bcea8a
commit
9db98b0ebe
@ -1,6 +1,6 @@
|
|||||||
# TinyIB - Lightweight and efficient [imageboard](https://en.wikipedia.org/wiki/Imageboard)
|
# TinyIB - Lightweight and efficient [imageboard](https://en.wikipedia.org/wiki/Imageboard)
|
||||||
[](https://translate.codeberg.org/projects/tinyib/tinyib/)
|
[](https://translate.codeberg.org/projects/tinyib/tinyib/)
|
||||||
[](https://liberapay.com/rocket9labs.com)
|
[](https://liberapay.com/rocket9labs.com)
|
||||||
|
|
||||||
A [**read-only demo**](https://tinyib.rocket9labs.com) is available.
|
A [**read-only demo**](https://tinyib.rocket9labs.com) is available.
|
||||||
|
|
||||||
|
@ -81,7 +81,8 @@ if (!in_array(TINYIB_DBMODE, $database_modes)) {
|
|||||||
fancyDie(__('Unknown database mode specified.'));
|
fancyDie(__('Unknown database mode specified.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TINYIB_DBMODE == 'pdo' && TINYIB_DBDRIVER == 'pgsql') {
|
$schema_mode = (TINYIB_DBMIGRATE) ? TINYIB_DBMIGRATE : TINYIB_DBMODE;
|
||||||
|
if ($schema_mode == 'pdo' && TINYIB_DBDRIVER == 'pgsql') {
|
||||||
$accounts_sql = 'CREATE TABLE "' . TINYIB_DBACCOUNTS . '" (
|
$accounts_sql = 'CREATE TABLE "' . TINYIB_DBACCOUNTS . '" (
|
||||||
"id" bigserial NOT NULL,
|
"id" bigserial NOT NULL,
|
||||||
"username" varchar(255) NOT NULL,
|
"username" varchar(255) NOT NULL,
|
||||||
|
@ -99,45 +99,45 @@ if (TINYIB_DBDRIVER === 'pgsql') {
|
|||||||
$query = "SELECT column_name FROM information_schema.columns WHERE table_name='" . TINYIB_DBPOSTS . "' and column_name='moderated'";
|
$query = "SELECT column_name FROM information_schema.columns WHERE table_name='" . TINYIB_DBPOSTS . "' and column_name='moderated'";
|
||||||
$moderated_exists = $dbh->query($query)->fetchColumn() != 0;
|
$moderated_exists = $dbh->query($query)->fetchColumn() != 0;
|
||||||
} else {
|
} else {
|
||||||
$dbh->query("SHOW COLUMNS FROM `" . TINYIB_DBPOSTS . "` LIKE 'moderated'");
|
$dbh->query("SHOW COLUMNS FROM " . TINYIB_DBPOSTS . " LIKE 'moderated'");
|
||||||
$moderated_exists = $dbh->query("SELECT FOUND_ROWS()")->fetchColumn() != 0;
|
$moderated_exists = $dbh->query("SELECT FOUND_ROWS()")->fetchColumn() != 0;
|
||||||
}
|
}
|
||||||
if (!$moderated_exists) {
|
if (!$moderated_exists) {
|
||||||
$dbh->exec("ALTER TABLE `" . TINYIB_DBPOSTS . "` ADD COLUMN moderated TINYINT(1) NOT NULL DEFAULT '1'");
|
$dbh->exec("ALTER TABLE " . TINYIB_DBPOSTS . " ADD COLUMN moderated TINYINT(1) NOT NULL DEFAULT '1'");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TINYIB_DBDRIVER === 'pgsql') {
|
if (TINYIB_DBDRIVER === 'pgsql') {
|
||||||
$query = "SELECT column_name FROM information_schema.columns WHERE table_name='" . TINYIB_DBPOSTS . "' and column_name='stickied'";
|
$query = "SELECT column_name FROM information_schema.columns WHERE table_name='" . TINYIB_DBPOSTS . "' and column_name='stickied'";
|
||||||
$stickied_exists = $dbh->query($query)->fetchColumn() != 0;
|
$stickied_exists = $dbh->query($query)->fetchColumn() != 0;
|
||||||
} else {
|
} else {
|
||||||
$dbh->query("SHOW COLUMNS FROM `" . TINYIB_DBPOSTS . "` LIKE 'stickied'");
|
$dbh->query("SHOW COLUMNS FROM " . TINYIB_DBPOSTS . " LIKE 'stickied'");
|
||||||
$stickied_exists = $dbh->query("SELECT FOUND_ROWS()")->fetchColumn() != 0;
|
$stickied_exists = $dbh->query("SELECT FOUND_ROWS()")->fetchColumn() != 0;
|
||||||
}
|
}
|
||||||
if (!$stickied_exists) {
|
if (!$stickied_exists) {
|
||||||
$dbh->exec("ALTER TABLE `" . TINYIB_DBPOSTS . "` ADD COLUMN stickied TINYINT(1) NOT NULL DEFAULT '0'");
|
$dbh->exec("ALTER TABLE " . TINYIB_DBPOSTS . " ADD COLUMN stickied TINYINT(1) NOT NULL DEFAULT '0'");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TINYIB_DBDRIVER === 'pgsql') {
|
if (TINYIB_DBDRIVER === 'pgsql') {
|
||||||
$query = "SELECT column_name FROM information_schema.columns WHERE table_name='" . TINYIB_DBPOSTS . "' and column_name='locked'";
|
$query = "SELECT column_name FROM information_schema.columns WHERE table_name='" . TINYIB_DBPOSTS . "' and column_name='locked'";
|
||||||
$locked_exists = $dbh->query($query)->fetchColumn() != 0;
|
$locked_exists = $dbh->query($query)->fetchColumn() != 0;
|
||||||
} else {
|
} else {
|
||||||
$dbh->query("SHOW COLUMNS FROM `" . TINYIB_DBPOSTS . "` LIKE 'locked'");
|
$dbh->query("SHOW COLUMNS FROM " . TINYIB_DBPOSTS . " LIKE 'locked'");
|
||||||
$locked_exists = $dbh->query("SELECT FOUND_ROWS()")->fetchColumn() != 0;
|
$locked_exists = $dbh->query("SELECT FOUND_ROWS()")->fetchColumn() != 0;
|
||||||
}
|
}
|
||||||
if (!$locked_exists) {
|
if (!$locked_exists) {
|
||||||
$dbh->exec("ALTER TABLE `" . TINYIB_DBPOSTS . "` ADD COLUMN locked TINYINT(1) NOT NULL DEFAULT '0'");
|
$dbh->exec("ALTER TABLE " . TINYIB_DBPOSTS . " ADD COLUMN locked TINYINT(1) NOT NULL DEFAULT '0'");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TINYIB_DBDRIVER === 'pgsql') {
|
if (TINYIB_DBDRIVER === 'pgsql') {
|
||||||
$dbh->query("ALTER TABLE `" . TINYIB_DBPOSTS . "` ALTER COLUMN tripcode VARCHAR(24) NOT NULL DEFAULT ''");
|
$dbh->query("ALTER TABLE " . TINYIB_DBPOSTS . " ALTER COLUMN tripcode TYPE VARCHAR(24)");
|
||||||
|
|
||||||
$dbh->query("ALTER TABLE `" . TINYIB_DBPOSTS . "` ALTER COLUMN ip VARCHAR(255) NOT NULL DEFAULT ''");
|
$dbh->query("ALTER TABLE " . TINYIB_DBPOSTS . " ALTER COLUMN ip TYPE VARCHAR(255)");
|
||||||
$dbh->query("ALTER TABLE `" . TINYIB_DBBANS . "` ALTER COLUMN ip VARCHAR(255) NOT NULL DEFAULT ''");
|
$dbh->query("ALTER TABLE " . TINYIB_DBBANS . " ALTER COLUMN ip TYPE VARCHAR(255)");
|
||||||
} else {
|
} else {
|
||||||
$dbh->query("ALTER TABLE `" . TINYIB_DBPOSTS . "` MODIFY tripcode VARCHAR(24) NOT NULL DEFAULT ''");
|
$dbh->query("ALTER TABLE " . TINYIB_DBPOSTS . " MODIFY tripcode VARCHAR(24) NOT NULL DEFAULT ''");
|
||||||
|
|
||||||
$dbh->query("ALTER TABLE `" . TINYIB_DBPOSTS . "` MODIFY ip VARCHAR(255) NOT NULL DEFAULT ''");
|
$dbh->query("ALTER TABLE " . TINYIB_DBPOSTS . " MODIFY ip VARCHAR(255) NOT NULL DEFAULT ''");
|
||||||
$dbh->query("ALTER TABLE `" . TINYIB_DBBANS . "` MODIFY ip VARCHAR(255) NOT NULL DEFAULT ''");
|
$dbh->query("ALTER TABLE " . TINYIB_DBBANS . " MODIFY ip VARCHAR(255) NOT NULL DEFAULT ''");
|
||||||
}
|
}
|
||||||
|
|
||||||
function pdoQuery($sql, $params = false) {
|
function pdoQuery($sql, $params = false) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user