spring Error executing DDL "alter table faq drop foreign key if exists 였λ₯˜

greenTeaΒ·2023λ…„ 6μ›” 11일
0

πŸ˜°μŠ€ν”„λ§ λΆ€νŠΈλ‘œ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ˜ 쀑 계속 ddl 였λ₯˜κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€.

μ € 같은 κ²½μš°μ—λŠ” μ™Έλž˜ ν‚€ μ œμ•½ 쑰건에 인해 λ°œμƒν•œ λ¬Έμ œμ˜€μŠ΅λ‹ˆλ‹€. (μž‘λ™μ€ ν•˜μ§€λ§Œ 였λ₯˜ λ‘œκ·Έκ°€ λ‚¨λŠ” λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.)

λ§Œμ•½ ddl 였λ₯˜κ°€ λ‚œλ‹€λ©΄ μ•„λž˜μ™€ 같은 방식을 μ‚¬μš©ν•΄λ³΄μ‹œλ©΄ 될 것 κ°™μŠ΅λ‹ˆλ‹€.

1. yml파일 체크

spring:
  jpa:
    generate-ddl: true
    hibernate:
      ddl-auto: create

πŸ˜₯μœ„μ™€ 같이 λ˜μ–΄ μžˆλŠ”μ§€ 확인해 μ€λ‹ˆλ‹€.
μ €μ˜ κ²½μš°μ—λŠ” μœ„μ™€ 같이 ν–ˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  μ™Έλž˜ν‚€ 였λ₯˜κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€.


2.sql에 직접 λ“€μ–΄κ°€μ„œ schema drop

DROP Schema IF EXISTS project;
CREATE Schema project;
USE project;

μ•„μ˜ˆ μƒˆλ‘­κ²Œ μ‹œμž‘ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

--

3.init sql둜 싀행해보기

spring:
  sql:
    init:
      mode: always

πŸ§μœ„μ™€ 같이 μž‘μ„±ν•œ ν›„ resource폴더 밑에 sqlνŒŒμΌμ„ λ§Œλ“€μ–΄ μ£Όμ„Έμš”
이후 μ•„λž˜μ™€ 같이 μž‘μ„±ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

DROP
DATABASE IF EXISTS project;
CREATE
DATABASE project;
USE 
project;

μœ„μ˜ μΏΌλ¦¬λŠ” μŠ€ν”„λ§ λΆ€νŠΈμ˜ λ°μ΄ν„°λ² μ΄μŠ€κ°€ μ‹€ν–‰λ˜κΈ° 전에 schemaλ₯Ό dropν•˜κ³  λ‹€μ‹œ λ§Œλ“€μ–΄ μ£ΌλŠ” κ³Όμ •μž…λ‹ˆλ‹€.


4.μžμ‹ μ˜ λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ‹€μ œ μ‚¬μš©ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ λΉ„κ΅ν•˜κΈ°

πŸ˜­μ €μ˜ κ²½μš°μ—λŠ” μ—¬κΈ°μ„œ λ¬Έμ œκ°€ λ°œμƒν–ˆμ—ˆμŠ΅λ‹ˆλ‹€.

	implementation 'org.mariadb.jdbc:mariadb-java-client'
//	implementation 'com.mysql:mysql-connector-j'

πŸ˜“μ €λŠ” λ„μ»€λ‘œ mysql을 λ„μš΄ μƒν™©μ—μ„œ ymlμ—μ„œλŠ” mariadbλ₯Ό μ‚¬μš©ν•˜λ„λ‘ ν•˜κ³  μžˆμ—ˆλŠ”λ°μš” μ•„λž˜μ™€ 같이 μžμ‹ μ΄ μ‚¬μš©ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— λ§žμΆ°μ£Όλ‹ˆ 였λ₯˜ λ‘œκ·Έλ“€μ΄ μ‚¬λΌμ‘ŒμŠ΅λ‹ˆλ‹€.

//	implementation 'org.mariadb.jdbc:mariadb-java-client'
	implementation 'com.mysql:mysql-connector-j'
profile
greenTeaμž…λ‹ˆλ‹€.

0개의 λŒ“κΈ€