마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

DB와 앱 업데이트 문제

0 추천
db로 데이터를 저장해서 사용하고 있습니다.

스마트폰에 올려서 테스트를 해보다가

db구조를 바꿔서 (테이블 이름은 그대로)

다시 run 해보니 이전에 db그대로 적용이 되고 바뀐 구조는 적용이 안되더라구요;

앱을 삭제 했다가 다시 빌드하여 run 하니 그제서야 바뀐 구조로 적용이 되었습니다.

만약에 마켓에 업로드해서 사용자가 다운 받아서 쓰다가

앱업데이트가 되어서 업데이트 버전을 다운 받게 되면

db구조가 바뀌지 않을것 같은데... (맞나요?)

어떻게 해서 바뀐 db 구조를 적용시킬수 있을 까요 ?
gong (120 포인트) 님이 2014년 1월 19일 질문

1개의 답변

0 추천

private static final int DATABASE_VERSION = 1;

 

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    db.execSQL("ALTER TABLE 테이블명 ADD 추가할컬럼명 자료형;");

}

 

DATABASE_VERSION 을 1만큼 증가시키세요. (DATABASE_VERSION = 1 → DATABASE_VERSION = 2)

 

버전이 바뀌면 onUpgrade 가 호출이 됩니다.

여기서 위와같이 컬럼을 추가하셔도 되고,

디비 전체를 지우시고 다시 create 하는 코드를 작성하시면 될것 같네요.

uno (3,820 포인트) 님이 2014년 1월 19일 답변
감사합니다.
Upgrade 함수가 어떤 역할을 하는 함수인지 간과하고 있었는데
DB 버전 관리를 해주는 함수인것을 이제 알게 되었네요ㅎㅎ
감사합니다. !!
...