저희가 앱을 사용할때 사용자가 입력을하면 DB에 들어가기도 하지만 때로는 미리 DB에 저장되어 있는
데이터를 가져와서 화면에 뿌려주기도 하잖아요?
그걸 구현하려고 합니다.
사실 미리 기능이 구현되어있기는 합니다만 방식을 조금 바꾸려고 하기때문에 질문드립니다.
workout_database라는 이름의 DB에
Workout, WokroutSetInfo 테이블이 존재합니다.
이 두가지 테이블은 1:N 형식으로 구현되어있고 입력을 통해 저장됩니다.
그리고 이제 말씀드릴 WorkoutList라고 운동종목 테이블을 추가로 만드려고합니다.
이것은 입력을 통한게 미리 DB에 저장되어있어서 사용자에게 운동목록을 보여줍니다.
--
방법은
Room 데이터베이스 미리 채우기 | Android 개발자 | Android Developers
개발자문서의 asset 부분의 방법을 참고해서 간단히 하려고하는데요 보시는 것처럼
Room.databaseBuilder(appContext, AppDatabase::class.java, "Sample.db")
.createFromAsset("database/myapp.db")
.build()
이러한 방식으로 사용을하는데..
다른 샘플 영상을 보니 db bowser for sqlite 툴에서
person db를 만들고 거기에 person 테이블을 만들고
이 DB를 위 방법대로 저장을하던데
그렇다면 저 같은경우에는 WorkoutList 테이블을 만들기 위해서
workout_database를 export? 내보내고? 툴에서 db를 불러온다음
테이블을 추가해서 위 방법대로 해야하는데
그렇다면 기존에 있던 workout, workoutsetinfo 테이블은 상관 없나요?
그러니까 제가 궁금한건.. 기존 앱을 실행하면 현재 workout_database가 만들어져있고
여기에 데이터를 입력하여 (테스트용이긴하지만) 데이터를 채워 놓은 상태입니다.
그런데 이 만들어져 있는 상태에서 추가로 미리 저장되어잇는 데이터가 필요하여
db browser for sqlite에서 테이블을 생성하여 createFromAsset을 하게된다면,
기존의 DB와 충돌 이라던지 그런건 없나요?