Hola Franco,
Entiendo tu preocupación y te felicito por tu observación. Sí, tienes razón, al agregar un nuevo campo como NOT NULL en una tabla que ya tiene registros, estos registros quedan con el nuevo campo vacío, lo cual puede generar problemas si intentas insertar datos de nuevo.
En un caso real, antes de realizar la migración que agrega el nuevo campo, tendrías que planificar cómo manejar los registros existentes. Hay varias estrategias que podrías usar, dependiendo de las necesidades de tu aplicación:
Asignar un valor predeterminado: Podrías asignar un valor predeterminado a los registros existentes. Por ejemplo, si agregas un campo de teléfono, podrías asignar un número de teléfono ficticio o un valor que indique que el teléfono aún no se ha proporcionado.
Realizar una limpieza de datos: Podrías eliminar los registros que no cumplen con las nuevas reglas de validación. Esta opción solo sería viable si los datos no son críticos o si puedes permitirte perderlos.
Permitir valores NULL temporalmente: Podrías agregar el nuevo campo sin la restricción NOT NULL, actualizar los registros existentes y luego agregar la restricción.
Verifica también la actualización de la entidad en la aplicación: Si actualizaste la entidad medico en tu aplicación para requerir que el campo telefono no esté en blanco (NOT BLANK), esto significa que las futuras inserciones o actualizaciones de registros en la tabla medico deberán incluir un número de teléfono válido. Esto no afectará los registros existentes en la base de datos, ya que las restricciones de validación se aplicarán solo a las nuevas operaciones de inserción o actualización.
Además, en el caso del video de la clase, se trata de un ejemplo didáctico y no se toma en cuenta el manejo de los registros existentes. En un entorno de producción, tendrías que manejar esta situación con cuidado para evitar la pérdida de datos o la violación de las reglas de validación.
Espero haber aclarado tu duda. Recuerda que estos son solo ejemplos y la estrategia que elijas dependerá de las necesidades específicas de tu aplicación.
Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.
¡Vamos juntos!
Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios