Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Sobre migration

CREATE TABLE usuarios (
   id BIGINT NOT NULL AUTO_INCREMENT,
   login VARCHAR(100) NOT NULL,
   contrasena VARCHAR(255) NOT NULL
   PRIMARY KEY(id)
);

Me arrojo error:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/flyway/autoconfigure/FlywayAutoConfiguration$FlywayConfiguration.class]: Failed to execute script V6__create_table_usuarios.sql
------------------------------------------------------
SQL State : 42000
Error Code : 1064
Message : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id)
)' at line 5
Location : db/migration/V6__create_table_usuarios.sql (C:\Users\Usuario\OneDrive\Desktop\curso_alura\alura-25\api2\target\classes\db\migration\V6__create_table_usuarios.sql)
Line : 1
Statement : Run Flyway with -X option to see the actual statement causing the problem

Lo pude solucionar borrando la version 6 en flyway y cambiandola por:

CREATE TABLE usuarios (
   id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   login VARCHAR(100) NOT NULL,
   contrasena VARCHAR(255) NOT NULL
);
1 respuesta

Hola Christian, espero que estés bien

¡Qué bueno que pudiste solucionar el problema! El error que encontraste se debe a un pequeño detalle en la sintaxis SQL. En tu declaración original, la línea PRIMARY KEY(id) estaba separada de la definición de la columna id, lo que causó el error de sintaxis.

Al mover PRIMARY KEY a la misma línea que la definición de id, como en tu solución:

CREATE TABLE usuarios (
   id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   login VARCHAR(100) NOT NULL,
   contrasena VARCHAR(255) NOT NULL
);

has corregido el problema. Este cambio asegura que MySQL interprete correctamente la clave primaria como parte de la definición de la columna id.

Es un buen ejemplo de cómo a veces pequeños detalles en el código pueden causar errores, y cómo una revisión cuidadosa puede ayudar a resolverlos. Continúa con tus estudios y sigue aplicando estas buenas prácticas.

Espero haber ayudado y buenos estudios!