Pregunto, hay alguna razón en específico para que el profesor NO defina las columnas "complemento" y "numero" como not null pero a la hora de implementar las validaciones sí indique que deben ser not null con la anotación @NotBlank de Validations? Adjunto imágenes un poco más explicativas:
El profesor está especificando desde el DTO que ninguno de los atributos de la dirección debe llegar en blanco ni nulo, tal como se ve en la imagen:
Código en caso de que la imagen no se logre visualizar:
package med.voll.vollapirest.direccion;
import jakarta.validation.constraints.NotBlank;
public record DatosDireccion(
@NotBlank
String calle,
@NotBlank
String distrito,
@NotBlank
String ciudad,
@NotBlank
String numero,
@NotBlank
String complemento
) {
}
Sin embargo, al crear la tabla médicos por medio de la migración de Flyway, él definió las columnas "numero" y "complemento" de la siguiente manera:
La sentencia en caso de que la imagen no se logre visualizar:
CREATE TABLE medicos (
id BIGINT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
documento VARCHAR(6) NOT NULL UNIQUE,
especialidad VARCHAR(100) NOT NULL,
calle VARCHAR(100) NOT NULL,
distrito VARCHAR(100) NOT NULL,
complemento VARCHAR(100),
numero VARCHAR(20),
ciudad VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
Mi sentido más lógico sugiere que no tendría sentido el hecho de indicar a la BD que esas dos columnas pueden contener datos nulos teniendo en cuenta que desde que se recibe la request se implementa la condición de que no deben estar nulos por medio del módulo Validations, además de que el profesor en una ocasión dijo verbalmente que estos campos no deberían tener la restricción "not null" debido a que es posible que no haya número ni complemento en alguna dirección.
Yo diría que simplemente fue un error del profesor. Sin embargo, me gustaría saber si hay alguna razón en específico detrás ya que de todas formas soy nuevo en lo que estamos viendo. Agradezco cualquier respuesta.
PD: En el minuto 1:50 de la clase "Validación" hay un error en la edición, donde el profesor deja ver unas pestañas que no deseaba y repite dos veces lo que estaba diciendo con ánimo de recortar esa parte. Ese recorte al parecer se pasó por alto el realizarlo durante la edición y quedó grabado el fragmento completo en donde comete esa pequeña equivocación. Obviamente no es algo muy relevante ni entorpece el aprendizaje, pero ya que sé que la mayoría de las veces los integrantes del Alura Team ven los temas del foro, no pierdo nada con mencionarlo si es que se quiere corregir dicho error de edición.