]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/pgsqlschema.php
Avoid spewing giant debug backtrace into exception in certain OStatus subscription...
[quix0rs-gnu-social.git] / lib / pgsqlschema.php
index 825241902319db150a79c57363c821e698a3ab03..715065d774b977f5018a92f90955c00744e050ea 100644 (file)
@@ -1,4 +1,3 @@
-
 <?php
 /**
  * StatusNet, the distributed open-source microblogging tool
@@ -216,6 +215,22 @@ class PgsqlSchema extends Schema
         return true;
     }
 
+    /**
+     * Translate the (mostly) mysql-ish column types into somethings more standard
+     * @param string column type
+     *
+     * @return string postgres happy column type
+     */
+    private function _columnTypeTranslation($type) {
+      $map = array(
+      'datetime' => 'timestamp'
+      );
+      if(!empty($map[$type])) {
+        return $map[$type];
+      }
+      return $type;
+    }
+
     /**
      * Adds an index to a table.
      *
@@ -485,11 +500,12 @@ class PgsqlSchema extends Schema
     private function _columnSql($cd)
     {
         $sql = "{$cd->name} ";
+        $type = $this->_columnTypeTranslation($cd->type);
 
         if (!empty($cd->size)) {
-            $sql .= "{$cd->type}({$cd->size}) ";
+            $sql .= "{$type}({$cd->size}) ";
         } else {
-            $sql .= "{$cd->type} ";
+            $sql .= "{$type} ";
         }
 
         if (!empty($cd->default)) {