szurubooru/src/Upgrades/Upgrade03.php

46 lines
1 KiB
PHP
Raw Normal View History

2014-09-15 11:38:24 +02:00
<?php
namespace Szurubooru\Upgrades;
class Upgrade03 implements IUpgrade
{
public function run(\Szurubooru\DatabaseConnection $databaseConnection)
{
2014-09-28 16:26:44 +02:00
$pdo = $databaseConnection->getPDO();
$driver = $pdo->getAttribute(\PDO::ATTR_DRIVER_NAME);
2014-09-15 11:38:24 +02:00
2014-09-28 16:26:44 +02:00
$pdo->exec('DROP TABLE IF EXISTS posts');
$pdo->exec('
CREATE TABLE posts
2014-09-15 11:38:24 +02:00
(
2014-09-28 16:26:44 +02:00
id INTEGER PRIMARY KEY ' . ($driver === 'mysql' ? 'AUTO_INCREMENT' : 'AUTOINCREMENT') . ',
name VARCHAR(40) NOT NULL,
2014-09-15 11:38:24 +02:00
userId INTEGER,
2014-09-28 16:26:44 +02:00
uploadTime DATETIME NOT NULL,
lastEditTime DATETIME,
2014-09-15 11:38:24 +02:00
safety INTEGER NOT NULL,
contentType INTEGER NOT NULL,
2014-09-28 16:26:44 +02:00
contentChecksum VARCHAR(64) NOT NULL,
source VARCHAR(200),
2014-09-15 11:38:24 +02:00
imageWidth INTEGER,
imageHeight INTEGER,
originalFileSize INTEGER,
2014-09-28 16:26:44 +02:00
originalFileName VARCHAR(200)
2014-09-15 11:38:24 +02:00
)');
2014-09-28 16:26:44 +02:00
$pdo->exec('
CREATE TABLE tags
2014-09-15 11:38:24 +02:00
(
2014-09-28 16:26:44 +02:00
name VARCHAR(64) PRIMARY KEY NOT NULL
2014-09-15 11:38:24 +02:00
)');
2014-09-28 16:26:44 +02:00
$pdo->exec('
CREATE TABLE postTags
2014-09-15 11:38:24 +02:00
(
postId INTEGER NOT NULL,
2014-09-28 16:26:44 +02:00
tagName VARCHAR(64) NOT NULL,
2014-09-15 11:38:24 +02:00
PRIMARY KEY (postId, tagName)
)');
}
}