- PostgreSQL 9.1
- tablas con particiones
- tbl_master
- tbl_slave1 (iherits maestro)
- tbl_slave2 (iherits maestro)
- Yii marco 1.1.10
Quizás alguien pueda cumplir su experiencia sobre la tabla particionada Yii + PostgreSQL. parte PostgreSQL con tablas con particiones, cheques y provoca grandes obras, pero no puedo llegar a Yii amor estas tablas ..marco Yu y PostgreSQL particionan mesa - 0 filas afectadas
El problema es que al insertar en la tabla de particiones PostgreSQL da 0 rows affected
y no puedo encontrar la manera para solucionar esto esto. El modelo Yii piensa que el nuevo registro no se guarda (pero lo es) y $Model->save();
devuelve falso y afterSave()
no funciona, y así sucesivamente.
Todos los otros métodos como ->find()
o ->findAll()
funcionan bien. Incluso si actualizo ahora el registro guardado throw yii todo está bien y me ejecutan afterSave
también. El problema es solo con ->save()
parte. Actualización de trabajo porque tengo activación solo al insertar nuevas filas.
Estoy usando el disparador para dividir datos nuevos por tablas. Tal vez necesito modificar el desencadenador para que los postgres sepan qué estoy enviando nuevos datos a la tabla slave
no master
?
Una cosa más. Agregué clave principal a la tabla master
para que Yii Model (CActiveRecord) no arroje errores sobre la tabla sin pk. Sé que la documentación no sugiere esto, pero lo hice funcionar de esta manera. Estoy tratando de dar imagen grande de mi situación.
Gracias!
Solución no tan bonita: Use 'RETURN NEW;' en el desencadenador en lugar de 'RETURN NULL;'. Y ahora tengo dos filas idénticas: una en el "maestro" y la segunda en la tabla "esclavo". Así que necesito agregar el disparador 'DESPUÉS DE INSERTAR' para borrar la tabla' maestra' ('ELIMINAR DE SOLO el maestro'). * Pensando en voz alta ... * - pero funcionaría. –
** Confirmando ** comentario anterior - está funcionando. Por ahora es una buena solución. –