<?php
namespace Kanboard\Plugin\MetaMagik\Schema;
use PDO;
const VERSION = 7;
function version_7(PDO $pdo)
{
$pdo->exec("ALTER TABLE metadata_types ADD COLUMN beauty_name VARCHAR(255) NOT NULL DEFAULT ''");
$urq = $pdo->prepare('UPDATE metadata_types SET beauty_name=? WHERE id=?');
$rq = $pdo->prepare('SELECT * FROM metadata_types ORDER BY id ASC');
$rq->execute();
foreach ($rq->fetchAll(PDO::FETCH_ASSOC) as $metadata_types) {
$urq->execute(array(preg_replace('/_/', ' ', $metadata_types['human_name']), $metadata_types['id']));
}
}
function version_6(PDO $pdo)
{
$pdo->exec('ALTER TABLE metadata_types ADD COLUMN footer_inc TINYINT(1) DEFAULT 0');
}
function version_5(PDO $pdo)
{
$pdo->exec("UPDATE metadata_types SET attached_to = 0 WHERE attached_to IS NULL OR attached_to = 'task'");
}
function version_4(PDO $pdo)
{
$pdo->exec('ALTER TABLE metadata_types ADD COLUMN column_number INTEGER DEFAULT 1');
}
function version_3(PDO $pdo)
{
$pdo->exec('ALTER TABLE metadata_types ADD COLUMN position INTEGER DEFAULT 1');
// Migrate all metadata_types position
$position = 1;
$urq = $pdo->prepare('UPDATE metadata_types SET position=? WHERE id=?');
$rq = $pdo->prepare('SELECT * FROM metadata_types ORDER BY id ASC');
$rq->execute();
foreach ($rq->fetchAll(PDO::FETCH_ASSOC) as $metadata_types) {
$urq->execute(array($position, $metadata_types['id']));
$position++;
}
}
function version_2(PDO $pdo)
{
$pdo->exec('ALTER TABLE metadata_types ADD COLUMN options VARCHAR(255)');
}
function version_1(PDO $pdo)
{
$pdo->exec('
CREATE TABLE IF NOT EXISTS metadata_types (
id INT PRIMARY KEY AUTO_INCREMENT,
human_name VARCHAR(255) NOT NULL,
machine_name VARCHAR(255) NOT NULL,
data_type VARCHAR(50) NOT NULL,
is_required TINYINT(1) DEFAULT 0,
attached_to VARCHAR(50) NOT NULL,
UNIQUE(machine_name, attached_to)
) ENGINE=InnoDB CHARSET=utf8
');
$pdo->exec('
CREATE TABLE IF NOT EXISTS metadata_has_type (
id INT PRIMARY KEY AUTO_INCREMENT,
type_id INT NOT NULL,
metadata_id INT NOT NULL,
FOREIGN KEY(type_id) REFERENCES metadata_types(id) ON DELETE CASCADE
) ENGINE=InnoDB CHARSET=utf8
');
}
|