처음 Spring Boot 를 실행하면, ddl-auto : create 옵션으로 인해 해당되는 테이블들이 모두 drop 후 create 되어야 하지만, SQLSyntaxErrorException 이 발생되면서
caused by: java.sql.sqlsyntaxerrorexception: can't drop 'fk8095bt0vv5capccv9870ln2n'; check that column/key exists
caused by: java.sql.sqlsyntaxerrorexception: key column '특정 id' doesn't exist in table
등등 다양한 오류를 내뿜으며 오류가 발생한다.
또한 직접 Mysql 데이터베이스를 날리고 해도, 아래와 같은 오류가 발생한다.
CommandAcceptanceException: Error executing DDL
특정 테이블에 대해 ddl-auto 옵션이 적용되지 않는 듯 했다.
내가 지정한 테이블의 명은 풋살 경기를 나타내기 위해 Match 로 지정했다.
하지만 Match는 MySQL의 예약어였고, 따라서 @Entity 로 match_table 이라고 지정해줬지만, 그럼에도 불구하고 여러 오류가 발생했다.
@Entity 가 아닌 @Table 어노테이션으로 이름을 바꿔줘야 한다, 칼럼명마다 바꿔줘야 한다 등 많은 해결방법을 봤지만, 어쨌든 mysql 에 있는 예약어를 사용했다는 것 자체가 찜찜해서 Entity명을 바꾸려고 한다.
Match 에서 Game 으로 변경했다.
주문을 나타내는 Order 등과 같은 것 때문에 예약어에 해당되는지 여부를 체크해야한다는 것을 알고 있었고, 이번에도 match를 사용하기 전에 예약어 리스트를 훑고 사용한건데 놓쳤나보다 ㅎ_ㅎ;