λ€μκ³Ό κ°μ κ²μ΄ μμΌλ©΄ νΈλ¦¬ν©λλ€.
knex.schema.dropTable('users', true);
//OR
knex.schema.cascade().dropTable('users');
μμ±ν κ²:
DROP TABLE users CASCADE;
.truncate
λ λμΌ
+1
κΈμ, μ΄κ²μ λ°©μΈμ λ°λΌ λ€λ¦
λλ€. λ λμ κ²μ MySQL Documentation μ λ°λ₯΄λ©΄ CASCADE
ν€μλκ° νμ©λμ§λ§ μ무 κ²λ νμ§ μλλ€λ κ²μ
λλ€. (μ μ³λκ³ , MySQLμ λν CHECK
μ μ½ μ‘°κ±΄μ μλμΌλ‘ 무μνλ©° κ³Όκ±°μλ μ΄κ²μ΄ μ λ₯Ό κΉ¨μ μ΅λλ€).
μ΄ κΈ°λ₯μ ν¬ν¨νλ©΄ μ μ ν CASCADE
ꡬνμ΄ μλ λ°©μΈμ λν λ체 ꡬνμ΄ νμνκ±°λ λμ²΄λ‘ κ΅¬νν λ°©λ²μ΄ μλ κ²½μ° μ€λ₯κ° λ°μν©λλ€. λμ ΈμΌ νλ€.
μλ₯Ό λ€μ΄, MySQLμμ INFORMATION_SCHEMA.KEY_COLUMN_USAGE
λ₯Ό 쿼리νκ³ κ° table_name + '.' + column_name
μ‘°ν©μ λν λ
Έλμ REFERENCED_TABLE_NAME.REFERENCED_COLUMN_NAME
μμ TABLE_NAME.COLUMN_NAME
κΉμ§μ κ°μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€μ λ°©ν₯μ± κ·Έλνλ₯Ό μμ±ν μ μμ΅λλ€. κ·Έλ° λ€μ κ·Έλνμμ ν ν΄λ‘μ§ μ λ ¬μ μννλ©΄ λλ‘ μ€λκ° μ 곡λ©λλ€. λλ μ΄κ²μνκ³ κ½€ μ μλν©λλ€. INFORMATION_SCHEMA
μ¬μ©μ μ’μ μ μ λν ꡬνμ΄ SQL μΈμ΄ κ°μ μ΄μ κ°λ₯ ν΄μΌ νλ€λ κ²μ
λλ€. κ·Έκ²μ΄ μ€μ λ‘ μ¬μ€μΈμ§ μλμ§λ μμ ν λ€λ₯Έ μ΄μΌκΈ°μ
λλ€.
κ°μ₯ μ μ©ν λκΈ
κΈμ, μ΄κ²μ λ°©μΈμ λ°λΌ λ€λ¦ λλ€. λ λμ κ²μ MySQL Documentation μ λ°λ₯΄λ©΄
CASCADE
ν€μλκ° νμ©λμ§λ§ μ무 κ²λ νμ§ μλλ€λ κ²μ λλ€. (μ μ³λκ³ , MySQLμ λνCHECK
μ μ½ μ‘°κ±΄μ μλμΌλ‘ 무μνλ©° κ³Όκ±°μλ μ΄κ²μ΄ μ λ₯Ό κΉ¨μ μ΅λλ€).μ΄ κΈ°λ₯μ ν¬ν¨νλ©΄ μ μ ν
CASCADE
ꡬνμ΄ μλ λ°©μΈμ λν λ체 ꡬνμ΄ νμνκ±°λ λμ²΄λ‘ κ΅¬νν λ°©λ²μ΄ μλ κ²½μ° μ€λ₯κ° λ°μν©λλ€. λμ ΈμΌ νλ€.μλ₯Ό λ€μ΄, MySQLμμ
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
λ₯Ό 쿼리νκ³ κ°table_name + '.' + column_name
μ‘°ν©μ λν λ ΈλμREFERENCED_TABLE_NAME.REFERENCED_COLUMN_NAME
μμTABLE_NAME.COLUMN_NAME
κΉμ§μ κ°μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€μ λ°©ν₯μ± κ·Έλνλ₯Ό μμ±ν μ μμ΅λλ€. κ·Έλ° λ€μ κ·Έλνμμ ν ν΄λ‘μ§ μ λ ¬μ μννλ©΄ λλ‘ μ€λκ° μ 곡λ©λλ€. λλ μ΄κ²μνκ³ κ½€ μ μλν©λλ€.INFORMATION_SCHEMA
μ¬μ©μ μ’μ μ μ λν ꡬνμ΄ SQL μΈμ΄ κ°μ μ΄μ κ°λ₯ ν΄μΌ νλ€λ κ²μ λλ€. κ·Έκ²μ΄ μ€μ λ‘ μ¬μ€μΈμ§ μλμ§λ μμ ν λ€λ₯Έ μ΄μΌκΈ°μ λλ€.