SowerPHP

Framework PHP hecho en Chile

Herramientas de usuario

Herramientas del sitio


mvc:model:database:postgresql:esquemas

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

mvc:model:database:postgresql:esquemas [2016/04/14 17:40] (actual)
delaf creado
Línea 1: Línea 1:
 +====== PostgreSQL: múltiples esquemas ======
 +
 +Por defecto PostgreSQL incluye el esquema ''​public''​ donde todos los objetos son colocados.
 +
 +Supongamos que se requiere utilizar una misma base de datos para diferentes tareas. En este caso se pueden definir múltiples esquemas, cada esquema contendrá sus propios objetos, donde estos se pueden repetir entre los esquemas.
 +
 +Crear un nuevo esquema:
 +
 +<code sql>
 +CREATE SCHEMA miesquema;
 +</​code>​
 +
 +Para crear/​utilizar un esquema se antepone el nombre del esquema al objeto separando con un punto:
 +
 +  miesquema.objeto
 +
 +Por ejemplo, para crear una tabla se realizará con:
 +
 +<code sql>
 +CREATE TABLE miesquema.mitabla (...);
 +</​code>​
 +
 +Luego para poder utilizar el esquema se debe especificar en la configuración de la base de datos la opción ''​sche'':​
 +
 +<code php>
 +\sowerphp\core\Configure::​write('​database.default',​ [
 +    '​type'​ => '​PostgreSQL',​
 +    '​name'​ => '​database',​
 +    '​user'​ => '​usuario',​
 +    '​pass'​ => '​clave',​
 +    '​sche'​ => '​miesquema'​
 +]);
 +</​code>​
 +
 +Si estamos trabajando en psql y queremos fijar un esquema para nuestros objetos utilizamos:
 +
 +<code sql>
 +SET search_path TO miesquema;
 +</​code>​
 +
 +Lo anterior dejará inaccesible ''​public''​ a menos que se haga de forma explícita, otra forma sería especificar los dos, donde los de la izquierda tienen preferencia en la búsqueda sobre los de la derecha:
 +
 +<code sql>
 +SET search_path TO miesquema,​public;​
 +</​code>​
  
mvc/model/database/postgresql/esquemas.txt · Última modificación: 2016/04/14 17:40 por delaf