# 커스터마이징 시 유의사항

{% hint style="danger" %} <mark style="color:red;">**개발 가이드를 준수하지 않아 발생하는 모든 문제는 전적으로 이용자에게 책임이 있습니다!**</mark>
{% endhint %}

## 📌 테이블 백업 <a href="#ec-9e-91-ec-97-85-ec-a0-84-ed-85-8c-ec-9d-b4-eb-b8-94-eb-b0-b1-ec-97-85-ed-95-84-ec-88-98" id="ec-9e-91-ec-97-85-ec-a0-84-ed-85-8c-ec-9d-b4-eb-b8-94-eb-b0-b1-ec-97-85-ed-95-84-ec-88-98"></a>

* 작업 전 테이블을 필수로 백업해야 합니다.
* phpmyadmin 에서 `export` 기능을 이용해서 백업할 수 있습니다.
* 아래와 같은 형식의 백업은 가능하지만 `CTAS(CREATE TABLE AS SELECT)`가 실행되는 동안 Lock이 발생하여 상점 운영에 영향을 줄 수 있으며, 용량 이슈로 서버 부하가 발생할 수 있습니다. 가급적 export 기능을 사용하는 것을 권장합니다.

  <pre class="language-sql" data-overflow="wrap"><code class="lang-sql">CREATE TABLE backup_es_order LIKE es_order;
  INSERT INTO backup_es_order SELECT orderNo, mallSno, ... FROM es_order WHERE orderNo ...
  </code></pre>

***

## 📌 오브젝트 이름에 키워드 및 예약어 사용 금지 <a href="#ec-9e-91-ec-97-85-ec-a0-84-ed-85-8c-ec-9d-b4-eb-b8-94-eb-b0-b1-ec-97-85-ed-95-84-ec-88-98" id="ec-9e-91-ec-97-85-ec-a0-84-ed-85-8c-ec-9d-b4-eb-b8-94-eb-b0-b1-ec-97-85-ed-95-84-ec-88-98"></a>

* MySQL에 내재되어 있는 예약어 사용 금지
* \` (백틱)으로 이름을 감싸서 사용하는 경우 강제로 생성되므로 백틱 사용 금지

{% code overflow="wrap" %}

```sql
# 예약어를 백틱으로 감싸면 생성 성공
CREATE TABLE reserved_word (
    `rank` int not null,
    PRIMARY KEY (`rank`)
    );

# 예약어를 그냥 사용하면 에러메세지 발생
CREATE TABLE reserved_word (
    rank int not null,
    PRIMARY KEY (rank)
)

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 'rank)
    )' at line 3
```

{% endcode %}

***

## 📌 오브젝트 이름에 특수문자 사용 금지 <a href="#ec-9e-91-ec-97-85-ec-a0-84-ed-85-8c-ec-9d-b4-eb-b8-94-eb-b0-b1-ec-97-85-ed-95-84-ec-88-98" id="ec-9e-91-ec-97-85-ec-a0-84-ed-85-8c-ec-9d-b4-eb-b8-94-eb-b0-b1-ec-97-85-ed-95-84-ec-88-98"></a>

* 지원되는 문자
  * 0-9,a-z,A-Z$\_
    * &#x20;digits 0-9, basic Latin letters, dollar, underscore
* \`(백틱)으로 감싸면 강제로 생성되므로 사용 금지
* 특수문자 사용시 보안패치, 업그레이드등에서 제외될 수 있습니다.

***

## 📌 **오류 발생시**

* `접두사 사용안함`, `Table 이름, Column 명칭의 수정, 삭제`, `Column Type 변경` 등에 의한 오류발생시 해당 부분에 대한 모든 책임은 직접 데이터베이스를 컨트롤한 주체에 있으며, 본사(NHN커머스)에서는 절대 책임지지 않습니다.
