app: setup Roomigrant

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-11-02 01:47:13 +05:30
parent 4b5c1e6d15
commit bfa4cd58a7
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
2 changed files with 4 additions and 1 deletions

View file

@ -3,6 +3,7 @@ package dev.msfjarvis.lobsters.data.source
import androidx.room.Database import androidx.room.Database
import androidx.room.RoomDatabase import androidx.room.RoomDatabase
import androidx.room.TypeConverters import androidx.room.TypeConverters
import dev.matrix.roomigrant.GenerateRoomMigrations
import dev.msfjarvis.lobsters.data.model.LobstersEntity import dev.msfjarvis.lobsters.data.model.LobstersEntity
import dev.msfjarvis.lobsters.data.model.SavedLobstersEntity import dev.msfjarvis.lobsters.data.model.SavedLobstersEntity
@ -17,6 +18,7 @@ import dev.msfjarvis.lobsters.data.model.SavedLobstersEntity
@TypeConverters( @TypeConverters(
LobstersApiTypeConverters::class, LobstersApiTypeConverters::class,
) )
@GenerateRoomMigrations
abstract class PostsDatabase : RoomDatabase() { abstract class PostsDatabase : RoomDatabase() {
abstract fun postsDao(): PostsDao abstract fun postsDao(): PostsDao
abstract fun savedPostsDao(): SavedPostsDao abstract fun savedPostsDao(): SavedPostsDao

View file

@ -8,6 +8,7 @@ import dagger.hilt.InstallIn
import dagger.hilt.android.components.ActivityComponent import dagger.hilt.android.components.ActivityComponent
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import dev.msfjarvis.lobsters.data.source.PostsDatabase import dev.msfjarvis.lobsters.data.source.PostsDatabase
import dev.msfjarvis.lobsters.data.source.PostsDatabase_Migrations
@Module @Module
@InstallIn(ActivityComponent::class) @InstallIn(ActivityComponent::class)
@ -16,7 +17,7 @@ object PersistenceModule {
@Provides @Provides
fun providePostsDatabase(@ApplicationContext context: Context): PostsDatabase { fun providePostsDatabase(@ApplicationContext context: Context): PostsDatabase {
return Room.databaseBuilder(context, PostsDatabase::class.java, "posts.db") return Room.databaseBuilder(context, PostsDatabase::class.java, "posts.db")
.fallbackToDestructiveMigration() .addMigrations(*PostsDatabase_Migrations.build())
.build() .build()
} }
} }