소스 검색

Agregado de funciones.

Se completo el readme.
gabriel 7 년 전
부모
커밋
69350a183c
2개의 변경된 파일101개의 추가작업 그리고 17개의 파일을 삭제
  1. 67 2
      Migrations/MigrationsBase.php
  2. 34 15
      README.md

+ 67 - 2
Migrations/MigrationsBase.php

@@ -491,7 +491,7 @@ class MigrationsBase extends AbstractMigration implements ContainerAwareInterfac
      * @param array $arrayPrepare Contiene un array con los valores. La key contiene el valor a
      *                            buscar en la sentencia sql y el value es el valor.
      */
-    private function executeSQL($sql, $type, $arrayPrepare = null)
+    public function executeSQL($sql, $type, $arrayPrepare = null)
     {
         $stmt = $this->connection->prepare($sql);
         $param = "";
@@ -641,6 +641,29 @@ class MigrationsBase extends AbstractMigration implements ContainerAwareInterfac
         }
     }
 
+    /**
+     * Funcion que verifica si existe un valor dentro de una tabla.
+     * @param string $table Contiene el nombre de la tabla.
+     * @param string $field Contiene el/los campos a mostrar.
+     * @param string $where Contiene el where de la consulta. Solo los campos con los valores. SIN
+     *                      LA PALABRA CLAVE.
+     * @return array Retorna el array con los datos encontrados. O NULL en caso de error.
+     */
+    public function existValueInTable($table, $field, $where)
+    {
+        try {
+            $sql = "SELECT " . $field . " " .
+                "FROM  " . $table . " " .
+                "WHERE " . $where . "; ";
+            $stmt = $this->connection->prepare($sql);
+            $stmt->execute();
+            $resp = $stmt->fetchAll();
+            return $resp;
+        } catch (\Throwable $e) {
+            return null;
+        }
+    }
+
     /**
      * Funcion que verifica si existe un campo de una tabla.
      * @param string $table Contiene el nombre de la tabla.
@@ -725,5 +748,47 @@ class MigrationsBase extends AbstractMigration implements ContainerAwareInterfac
         }
     }
 
+    /**
+     * Funcion que obtiene el valor del auto_increment.
+     * @param string $table Contiene el nombre de la tabla.
+     * @return array Retorna el array con los datos encontrados. O NULL en caso de error.
+     */
+    public function getAutoIncrementValue($table)
+    {
+        $autoIncrement = 1;
+        try {
+            $base = $this->getDataBaseName();
+            $sql = "SELECT `AUTO_INCREMENT` " .
+                "FROM  INFORMATION_SCHEMA.TABLES " .
+                "WHERE TABLE_SCHEMA = '" . $base . "' AND " .
+                "      TABLE_NAME = '" . $table . "';";
+
+            $stmt = $this->connection->prepare($sql);
+            $stmt->execute();
+            $resp = $stmt->fetchAll();
+            foreach ($resp as $key => $value) {
+                if (isset($value["AUTO_INCREMENT"])) {
+                    $autoIncrement = $value["AUTO_INCREMENT"];
+                }
+            }
+        } catch (\Throwable $e) {
+        }
+        return $autoIncrement;
+    }
+
+    /**
+     * Funcion que setea el valor del auto_increment.
+     * @param string $table Contiene el nombre de la tabla.
+     * @param int $value Contiene el proximo numero autilizar.
+     */
+    public function setAutoIncrementValue($table, $value)
+    {
+        try {
+            $base = $this->getDataBaseName();
+            $stmt = $this->connection->prepare("ALTER TABLE " . $base . "." . $table . " AUTO_INCREMENT=" . $value . ";");
+            $stmt->execute();
+        } catch (\Throwable $e) {
+        }
+    }
 
-}
+}

+ 34 - 15
README.md

@@ -50,21 +50,40 @@ Esta clase proporciona los siguientes métodos que se ejecutan en el siguiente o
  	  
 Ademas se pueden utilizar las siguientes funciones:
 ```Php
-	* deleteMigrationsVersion: recibe como parámetro el objeto de 
-ejecución ($this). 
-	        Se debe incluir en la función "preUp".
-	        Borra la versión de la tabla de migraciones para que no tire 
-error. 
-	        Esto se utiliza en caso de que se deba correr varias veces 
-la misma migración.
-	* setShowParameters: recibe como parámetro un TRUE/FALSE.
-	        Se utiliza para mostrar los parámetros de cada una de las 
-sentencias sql.
-    * showResult: no recibe parámetros.
-            Se encarga de mostrar como se ejecuto cada uno de las sentencias 
-sql.
-    * executeYaml: recibe como parámetro el nombre del archivo a incorporar. 
-            Se toma como base el directorio app/DoctrineMigrations/ 
+	* deleteMigrationsVersion: Borra la versión de la tabla de migraciones para 
+            que no tire error. Esto se utiliza en caso de que se deba correr 
+            varias veces la misma migración. Se debe incluir en la función "preUp".	       
+        Recibe como parámetro el objeto de ejecución ($this).
+    * executeSQL: Ejecuta un sql en al base de datos. 
+        Recibe como parámetros el sql, el tipo de sentencia (INSERT/
+            UPDATE/DELETE) y un array con los valores a reemplazar en el sql.
+    * executeYaml: Ingresa los valores desde un archivo yaml. Se toma como base 
+            el directorio app/DoctrineMigrations/
+        Recibe como parámetro el nombre del archivo a incorporar. 
+    * existFieldInTable: Verifica si existe un campo dentro de una tabla.
+        Recibe como parámetro el nombre de la tabla y el nombre del campo.
+    * existFieldType: Verifica si existe un campo con un cierto tipo de dato dentro de una tabla.           
+        Recibe como parámetro el nombre de la tabla, el nombre del campo y el tipo de dato.   
+    * existTable: Verifica si existe una tabla.        
+        Recibe como parámetro el nombre de la tabla.
+    * existValueInTable: Verifica si existe un valor en la tabla.
+        Recibe como parámetro el nombre de la tabla, el nombre del campo y el valor a buscar.
+    * getAutoIncrementValue: Retorna el valor del auto_increment de una tabla.
+        Recibe como parámetro el nombre de la tabla.
+    * getDataBaseName: Retorna el nombre de la base a la cual estoy conectado.
+    * getMigrationNumber: Función que obtiene el número de migración que estoy ejecutantdo.
+        Recibe como parámetro el objeto de ejecución ($this).
+    * setAutoIncrementValue: Setea el valor del auto_increment de una tabla.
+        Recibe como parámetro el nombre de la tabla y valor a setear.
+	* setShowParameters: Se utiliza para mostrar los parámetros de cada una de las
+            sentencias sql. 
+        Recibe como parámetro un TRUE/FALSE.
+    * showResult: Se encarga de mostrar como se ejecuto cada uno de las sentencias 
+            sql.
+        No recibe parámetros.            
+    * verifyMigrationsVersion: Verifica si la migración ya se incorporó.
+        Recibe como parámetro el objeto de ejecución ($this).
+
 ```
 
 ## Execution