- New migration script for changing chk_person_svnr constraint on table tbl_person

- Changed MigrationLib->execQuery for a better output
This commit is contained in:
bison
2016-08-30 15:43:21 +02:00
parent 46bc8bdb8c
commit bfe8d50772
2 changed files with 57 additions and 1 deletions
+7 -1
View File
@@ -16,6 +16,8 @@ class MigrationLib extends CI_Migration
const ERROR_COLOR = 31;
const INFO_COLOR = 33;
const PRINT_QUERY_LEN = 60;
// HTML colors names
private $HTML_COLORS = array(31 => "red", 33 => "orange");
// Used to set if the migration process is called via command line or via browser
@@ -539,6 +541,10 @@ class MigrationLib extends CI_Migration
}
}
$this->printInfo("Query correctly executed");
$this->printInfo(
"Query correctly executed: " .
substr(preg_replace("/\s+/", " ", trim($query)), 0, MigrationLib::PRINT_QUERY_LEN) .
(strlen($query) > MigrationLib::PRINT_QUERY_LEN ? "..." : "")
);
}
}
@@ -0,0 +1,50 @@
<?php
if (! defined("BASEPATH")) exit("No direct script access allowed");
require_once APPPATH . "/libraries/MigrationLib.php";
class Migration_Person_svnr extends MigrationLib
{
public function __construct()
{
parent::__construct();
}
public function up()
{
$this->startUP();
$this->execQuery("ALTER TABLE public.tbl_person DROP CONSTRAINT chk_person_svnr");
$this->execQuery(
"ALTER TABLE public.tbl_person
ADD CONSTRAINT chk_person_svnr
CHECK (
char_length(svnr::text) = 10 OR
char_length(svnr::text) = 12 OR
char_length(svnr::text) = 16 OR
svnr IS NULL
)"
);
$this->endUP();
}
public function down()
{
$this->startDown();
$this->execQuery("ALTER TABLE public.tbl_person DROP CONSTRAINT chk_person_svnr");
$this->execQuery(
"ALTER TABLE public.tbl_person
ADD CONSTRAINT chk_person_svnr
CHECK (
char_length(svnr::text) = 10 OR
char_length(svnr::text) = 16 OR
svnr IS NULL
)"
);
$this->endDown();
}
}