#sqlite #android
У меня есть заполненная база с названием first_base и мне нужно ее пепеименовать в second_base. Как это реализовать (если возможно - через Java код)?
Ответы
Ответ 1
Можно переименовать файл базы данных, но сначала убедиться, что подключение к БД закрыто: Вызвать в activity: private void renameDatabase() { File databaseFile = getDatabasePath("yourdb.whatever"); File oldDatabaseFile = new File(databaseFile.getParentFile(), "yourdb_old.whatever"); databaseFile.renameTo(oldDatabaseFile); } Переименовать саму бд нельзя, нужно копировать данные в новую и удалять старую: Использовав SQLiteOpenHelper, можно использовать метод createDatabaseIfRequired() в методах getReadableDatabase() getWritableDatabase(): private boolean checkOldDatabase() { Log.d(Constants.LOGTAG, "OperationDbHelper.checkDatabase"); File f = new File(DB_PATH + OLD_DB_NAME); return f.exists(); } public void createDatabaseIfRequired() throws IOException, SQLiteException { if (!checkOldDatabase()) { // сравнивать БД / удалять старую / копировать новую } }
Комментариев нет:
Отправить комментарий