0

I am creating a room database from DB inside asset folder.

database = Room.databaseBuilder(this, AppDatabase::class.java, "x.db")
        .createFromAsset("databases/x.db")
        .fallbackToDestructiveMigration()
        .build()

With an Entity class

@Entity(tableName = "x")
data class BibleDatas(
        @NotNull @ColumnInfo(name = "age") var name: Int,
        @NotNull @ColumnInfo(name = "name") var age: String,
        @Nullable @ColumnInfo(name = "saved") var saved: Int
        @PrimaryKey(autoGenerate = true) @NotNull @ColumnInfo(name = "id") var id: Int
    )

my asset folder DB has columns name and age, and saved column am creating from dynamically.

But am getting an error saying

Pre-packaged database has an invalid schema: 
     Expected:
    TableInfo{name='x', columns={age=Column{age='age', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='null'}, saved=Column{age='saved', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, name=Column{age='name', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='null'}}, foreignKeys=[], indices=[]}
     Found:
    TableInfo{name='x', columns={age=Column{age='age', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=0, defaultValue='null'}, name=Column{age='name', type='TEXT', affinity='2', notNull=true, primaryKeyPosition=0, defaultValue='null'}}, foreignKeys=[], indices=[]}
Bincy Baby
  • 3,941
  • 5
  • 36
  • 62

1 Answers1

0

Check this solution:

Pre-packaged database has an invalid schema error