szurubooru/src/Upgrades/Upgrade22.php
2014-10-18 18:48:39 +02:00

36 lines
1.1 KiB
PHP

<?php
namespace Szurubooru\Upgrades;
use Szurubooru\DatabaseConnection;
class Upgrade22 implements IUpgrade
{
public function run(DatabaseConnection $databaseConnection)
{
$pdo = $databaseConnection->getPDO();
$driver = $databaseConnection->getDriver();
$pdo->exec('
CREATE TABLE snapshots2 (
id INTEGER PRIMARY KEY ' . ($driver === 'mysql' ? 'AUTO_INCREMENT' : 'AUTOINCREMENT') . ',
time DATETIME NOT NULL,
type INTEGER NOT NULL,
primaryKey INTEGER NOT NULL,
operation INTEGER NOT NULL,
userId INTEGER DEFAULT NULL,
data BLOB,
dataDifference BLOB)');
$pdo->exec('
INSERT INTO snapshots2
(id, time, type, primaryKey, operation, userId, data, dataDifference)
SELECT
id, time, type, primaryKey, operation, userId, data, dataDifference
FROM snapshots');
$pdo->exec('DROP TABLE snapshots');
$pdo->exec('ALTER TABLE snapshots2 RENAME TO snapshots');
$pdo->exec('CREATE INDEX idx_snapshots_time ON snapshots(time)');
$pdo->exec('CREATE INDEX idx_snapshots_typePK ON snapshots(type, primaryKey)');
}
}