PHP Classes

File: Schema/Mysql.php

Recommend this page to a friend!
  Classes of kiran   MetaMagik   Schema/Mysql.php   Download  
File: Schema/Mysql.php
Role: Example script
Content type: text/plain
Description: Example script
Class: MetaMagik
Plugin to add custom form fields for Kanboard
Author: By
Last change:
Date: 3 years ago
Size: 2,351 bytes
 

Contents

Class file image Download
<?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
    '
);
}