[Pgsql-ayuda] Funció n validadora tal vez demasiado ambiciosa

Gunnar Wolf gwolf@gwolf.cx
Wed, 18 Jun 2003 13:54:09 -0500


Alvaro Herrera dijo [Tue, Jun 17, 2003 at 10:24:16PM -0400]:
> On Mon, Jun 16, 2003 at 05:44:34PM -0500, Gunnar Wolf wrote:
> 
> Gunnar,
> 
> (...) 
> Leí el thread completo antes de volver acá.  La verdad, me parece
> extraño que quieras modificar el esquema de la BD "en producción".  Si
> bien es fácil ver que durante el "desarrollo" la BD va a cambiar, en
> algún momento deberías cortar y quedarte con un cierto diseño.
> 
> En particular, si para un congreso se define que los expositores tienen
> mail obligatorio, ese requisito no se cambia a mitad del congreso...

...Y después de ver los comentarios a este hilo, me han convencido. Creo
que lo que tengo que hacer es más bien un bonito script para generar la
definición de la BD. Roberto, MiG, ¿cómo la ven? Algún tipo de
configure+makefile o algo por el estilo que permita definir cómo
trataremos a una BD en especial... Y cuando mucho, si hace falta, con la
BD ya instalada el administrador siempre podrá hacer el cambio cuando lo
juzgue necesario. ¿Gusta?

> > En mi esquema estoy definiendo ciertos campos como completamente
> > opcionales (por ejemplo, la organización y departamento a que pertenece
> > una persona) y ciertos campos como completamente requeridos (por
> > ejemplo, el nombre propio de una persona). Los campos opcionales deben
> > aceptar valores NULL.
> 
> Y ya que estamos, por qué no puede ser que ciertos campos deben existir
> para algunos congresos y no para otros?

Ummm... Creo más bien que conviene dejarlos como 'nuleables'. Estamos
planteando una aplicación que será bastante compleja - y el que un campo
aparezca o desaparezca del esquema puede hacer necesario modificar el
código de la aplicación. Se me hace más fácil intentar hacer la
operación en cuestión, y si la BD se queja porque hay un nulo, notificar
que no debería haberlo.

En fin, tenemos mucho desarrollo por delante :) Y vremos cómo avanza.

-- 
Gunnar Wolf - gwolf@gwolf.cx - (+52-55)5630-9700 ext. 1366
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF