Estoy migrando una aplicación existente de mas de 450 tablas organizadas en 7 schemas a Kumbia.
Una vez que me conecte, creé una clase para poder armar un ABM automático (scaffold).
Archivo: controllers/choferes_controllers.php
<?php
class ChoferesController extends StandardForm
{
public $debug = true;
public $scaffold = true;
public $source = "choferes";
}
?>
Archivo: models/choferes.php
<?php
class Choferes extends ActiveRecord
{
public $debug = true;
}
?>
Cuando quiero probar la opción Reporte, al darle aceptar, me sale el siguiente error:
select count(*) from information_schema.tables where table_schema = 'public' and table_name='choferes'
KumbiaException: No existe la tabla 'choferes' en la base de datos 'eternum'
El problema es que busca la tabla choferes en el schema public, cuando yo la tengo definida en otro schema
Para salvar el problema y poder avanzar en el uso de Kumbia, modifique la linea 312 del archivo form/db/adapters/postgres.php
eliminando de la clausula where el table_schema = 'public'
Todas las tablas del sistema tienen nombres distintos y no hay tablas de mi aplicación con nombres iguales a las tablas internas de postgres, por eso supongo esta modificación no me traerá problemas mas adelante.
La pregunta es: Hay alguna forma de indicar en que schema esta la tabla, por ejemplo poniendo:
public $source = "gen.choferes";
si el schema donde esta la tabla "choferes" se llama "gen" ?
PD: Por razones de la aplicación actual, no puedo modificar los nombres de los schemas existentes
Saludos
Comentarios
Gracias de todos modos