Administración de la configuración de la base de datos en diferentes entornos Si planea utilizar una base de datos

Administración de la configuración de la base de datos en diferentes entornos

Si planea utilizar una base de datos para su aplicación CodeIgniter, deberá mantener la configuración de conexión correcta. CodeIgniter mantiene estas configuraciones en el archivo de configuración "database.php".

Cómo hacerlo...

  • Primer paso: Abra el archivo "database.php"; para este caso en particular donde usamos el WampServer, dicho archivo se enccuentra en la siguiente ruta:

"C:wampwwwCodeIgniter-3.1.2applicationconfig".

  • Segundo Paso: Una vez abierto este archivo encontrado, busque la línea siguiente:

$active_group

Esta línea de código detalla la configuración de una base de datos específica que se va a utilizar para un entorno de alojamiento particular.
En esta parte del código usted ajusta la conectividad a la base de datos que posee:

    • La variable ['dsn']: La cadena DSN (Data Source Name) describe el nombre que utilizan las aplicaciones para solicitar una conexión a un origen de datos ODBC. En otras palabras, es un nombre simbólico que representa la conexión ODBC. Almacena los detalles de conexión como el nombre de base de datos, el directorio, el controlador de base de datos, ID de usuario, contraseña, etc. al realizar una conexión en el archivo ODBC. Algunos controladores de bases de datos (como PDO, PostgreSQL, Oracle, ODBC) pueden requerir una cadena DSN completa que se proporcionará. Si este es el caso, debe usar la configuración 'dsn', como si estuviera usando la extensión PHP nativa subyacente del controlador, como esto:

// Para la Extensión PDO
$db['default']['dsn'] = 'pgsql:host=localhost;port=5432;dbname=database_name';

// Para Oracle
$db['default']['dsn'] = '//localhost/XE';

Aquí te detallo cada variable y los valores que tienes a disposición para cambiar:

    • La variable ['hostname'] ': Aquí usted especificará el nombre de host de su servidor de base de datos. En nuestro caso como estamos trabajando localmente, colocaremos: 'localhost'.
    • La variable ['username'] : Aquí usted coloca el nombre de usuario utilizado para conectarse a la base de datos, para nuestro caso es 'root'.
    • La variable ['password'] : Su contraseña utilizada para conectarse a la base de datos.
    • La variable ['database'] :  El nombre de la base de datos a la que desea conectarse.
    • La variable ['dbdriver'] :  Aquí usted especifica el controlador de su base de datos. Por ejemplo: mysqli. | Actualmente son compatibles:  Cubrid, ibase, mssql, mysql, mysqli, oci8, Odbc, pdo, postgre, sqlite, sqlite3, sqlsrv.
    • La variable ['dbprefix'] : Aquí usted puede agregar un prefijo opcional, que se agregará al nombre de la tabla cuando utilice la clase Query Builder.
    • La variable ['pconnect'] : Esta variable puede tener dos valores: TRUE / FALSE - se utilizar para realizar o no una conexión persistente.
    • La variable ['db_debug'] : Esta variable puede tener dos valores también: TRUE / FALSE - Establece si se deben mostrar los errores de la base de datos.
    • La variable ['cache_on'] : Esta variable puede tener dos valores: TRUE / FALSE - Activa/desactiva el caché de consultas.
    • La variable ['cachedit'] : Aquí usted establece la ruta de acceso a la carpeta donde se deben almacenar los archivos de caché.
    • La variable ['char_set'] : Establece el conjunto de caracteres utilizado en la comunicación con la base de datos, por ejemplo: 'utf8'.
    • La variable ['dbcollat'] : En esta variable se establece la intercalación de caracteres utilizada en la comunicación con la base de datos: 
      • NOTA: Para las bases de datos MySQL y MySQLi, esta configuración sólo se utiliza como una copia de seguridad si su servidor está ejecutando PHP <5.2.3 o MySQL <5.0.7. | (Y en las consultas de creación de tablas hechas con DB Forge).
      • Hay una incompatibilidad en PHP con mysql_real_escape_string () que Puede hacer que su sitio sea vulnerable a la inyección de SQL si está utilizando un Multi-byte conjunto de caracteres y están ejecutando versiones inferiores a éstos. Los sitios que utilizan el conjunto de caracteres de la base de datos Latin-1 o UTF-8 y la intercalación no se ven afectados.
    • La variable ['swap_pre'] :  Establece un prefijo de tabla predeterminado que se debe intercambiar con el dbprefix.
    • La variable ['encrypt'] : Si desea o no utilizar una conexión cifrada.
      • Los controladores 'mysql' (estan obsoletos), 
      • 'sqlsrv' y 'pdo/sqlsrv' aceptan TRUE / FALSE
      • Los controladores 'mysqli' y 'pdo/mysql' aceptan una matriz con las siguientes opciones:
        • 'Ssl_key' - Ruta de acceso al archivo de clave privada.
        • 'Ssl_cert' - Ruta al archivo de certificado de clave pública.
        • 'Ssl_ca' - Ruta al archivo de la autoridad de certificación.
        • 'Ssl_capath' - Ruta de acceso a un directorio que contiene certificados de CA de confianza en formato PEM.
        • 'Ssl_cipher' - Lista de cifrados * permitidos * que se utilizarán para el cifrado, separados por dos puntos ( ':').
        • 'Ssl_verify' - TRUE / FALSE; Si comprueba el certificado del servidor o no ( 'mysqli' solamente).
    • La variable ['compress'] : Si desea o no utilizar la compresión del cliente (usada sólo para MySQL).
    • La variable ['stricton'] : Esta variable posee dos opciones: TRUE / FALSE - fuerza a las conexiones al 'modo estricto' ó 'Strict Mode'. Esto es excelente para garantizar un SQL estricto mientras desarrolla.
    • La variable ['ssl_options'] :  Se utiliza para establecer varias opciones de SSL que se pueden utilizar al realizar conexiones SSL.
    • La variable ['failover'] :  Array - Una matriz con 0 o más datos para las conexiones si la principal falla.
    • La variable ['save_queries'] : Esta puede recibir TRUE / FALSE - Determina si usted desea "guardar" todas las consultas ejecutadas. 
      • NOTA: Al inhabilitarlo, también se desactivarán $ This-> db-> last_query () y el perfil de las consultas DB. 
      • Cuando ejecuta una consulta, con esta configuración establecida en TRUE (predeterminado), CodeIgniter almacenará la instrucción SQL para propósitos de depuración. Sin embargo, esto puede causar un uso de memoria alto, especialmente si ejecuta un montón de consultas SQL ... desactive esto para evitar ese problema. 
    • La variable $active_group le permite elegir el grupo de conexiones a activar de forma predeterminada, sólo hay un grupo (el grupo "predeterminado"). Las variables:
      •  $query_builder le permite determinar si desea o no cargar la clase constructora de consultas.  

Publique su comentário!: