Tôi có một tình huống mà tôi muốn có thể thực hiện việc thiết lập lại cơ sở dữ liệu cứng bằng cách sử dụng Android Room. Sử dụng SQLiteOpenHelper
, tôi có thể làm điều này bằng cách viết một phương thức để thả tất cả các bảng và chỉ mục, sau đó gọi thủ công SQLiteOpenHelper.onCreate()
.Làm cách nào để tôi tạo lại hoàn toàn cơ sở dữ liệu của mình trong Android Room?
Tôi biết rằng tôi có thể truy cập vào một số SupportSQLiteOpenHelper
qua phòng và tự thả tất cả các bảng, nhưng dường như không có cách nào tốt để bắt đầu quá trình giải trí.
Ngoài ra, tôi biết rằng tôi có thể xóa mọi mục khỏi mỗi bảng mà không làm rơi nó, nhưng đó không phải là những gì tôi muốn. Điều đó không đặt lại khóa chính tăng tự động, do đó, trường "id" của các mục mới sẽ không được đặt lại về 1.
Cảm ơn!
EDIT:
Đây là điều tôi muốn có thể thực hiện tùy ý khi chạy.
CHỈNH SỬA 2:
Phương pháp nên được duy trì, tức là không liên quan đến SQL viết tay khớp với hành vi của Phòng. Lý tưởng nhất là sẽ có một số cách để truy xuất SQL mà Phòng tạo hoặc phương thức tương đương SQLiteOpenHelper.onCreate()
. Hoặc bất cứ điều gì khác mà giải quyết vấn đề này! :)
Đây là yêu cầu tính năng, không phải là vấn đề mà ai đó có thể giải quyết ngay bây giờ ngoại trừ Nhà phát triển phòng. Tôi cũng cần tính năng này! –