Add support for the COMMENT field in DBForge and MySQL Forge classes (pdo, mysql, and mysqli)
Signed-off-by: Zachary Flower <zach@ninjaninja.net>
diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index aa8bbbe..df3b90b 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -156,6 +156,13 @@
*/
protected $_default = ' DEFAULT ';
+ /**
+ * COMMENT value representation in CREATE/ALTER TABLE statements
+ *
+ * @var string
+ */
+ protected $_comment = ' COMMENT ';
+
// --------------------------------------------------------------------
/**
@@ -849,6 +856,7 @@
.$field['default']
.$field['null']
.$field['auto_increment']
+ .$field['comment']
.$field['unique'];
}
@@ -987,6 +995,28 @@
// --------------------------------------------------------------------
/**
+ * Field attribute COMMENT
+ *
+ * @param array &$attributes
+ * @param array &$field
+ * @return void
+ */
+ protected function _attr_comment(&$attributes, &$field)
+ {
+ if ($this->_comment === FALSE)
+ {
+ return;
+ }
+
+ if (!empty($attributes['COMMENT']))
+ {
+ $field['comment'] = $this->_default.$this->db->escape($attributes['COMMENT']);
+ }
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* Process primary keys
*
* @param string $table Table name
diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php
index 6f0d6c5..7053fa1 100644
--- a/system/database/drivers/mysql/mysql_forge.php
+++ b/system/database/drivers/mysql/mysql_forge.php
@@ -192,6 +192,7 @@
.$field['null']
.$field['default']
.$field['auto_increment']
+ .$field['comment']
.$field['unique']
.$extra_clause;
}
diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php
index c9a5b6d..c92d222 100644
--- a/system/database/drivers/mysqli/mysqli_forge.php
+++ b/system/database/drivers/mysqli/mysqli_forge.php
@@ -194,6 +194,7 @@
.$field['null']
.$field['default']
.$field['auto_increment']
+ .$field['comment']
.$field['unique']
.$extra_clause;
}
diff --git a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
index 6cdfcab..85b6ebe 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
@@ -206,6 +206,7 @@
.$field['null']
.$field['default']
.$field['auto_increment']
+ .$field['comment']
.$field['unique']
.$extra_clause;
}