簡體   English   中英

遷移沒有正確處理:

[英]Migration didn't properly handle:

升級數據庫時出現此錯誤:

java.lang.IllegalStateException:遷移未正確處理:seriesPosition(com.redline.xstreamredline.db.entities.SeriesPosition)。

Expected:
       TableInfo{name='seriesPosition', columns={seasonId=Column{name='seasonId', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, uid=Column{name='uid', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=1, defaultValue='null'}, total_time=Column{name='total_time', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, position=Column{name='position', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, portalUid=Column{name='portalUid', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, episodeId=Column{name='episodeId', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, seriesId=Column{name='seriesId', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}}, foreignKeys=[], indices=[Index{name='index_seriesPosition_portalUid_seriesId_seasonId_episodeId', unique=true, columns=[portalUid, seriesId, seasonId, episodeId]}]}
       ```
   ``` 
       Found:
   TableInfo{name='seriesPosition', columns={seasonId=Column{name='seasonId', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=3, defaultValue='null'}, uid=Column{name='uid', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, total_time=Column{name='total_time', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, position=Column{name='position', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=0, defaultValue='null'}, portalUid=Column{name='portalUid', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=1, defaultValue='null'}, episodeId=Column{name='episodeId', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=4, defaultValue='null'}, seriesId=Column{name='seriesId', type='INTEGER', affinity='3', notNull=false, primaryKeyPosition=2, defaultValue='null'}}, foreignKeys=[], indices=[]}    

我不知道如何指定索引。

database.execSQL("CREATE TABLE `seriesPosition` (`uid` INTEGER," +
                        " `portalUid` INTEGER, `seriesId` INTEGER, `seasonId` INTEGER," +
                        " `episodeId` INTEGER, `position` INTEGER, `total_time` INTEGER," +
                         " PRIMARY KEY(`portalUid`, `seriesId`, `seasonId`,`episodeId`))")

要定義復合主鍵,您可以在 Entity 注釋中使用primaryKeys參數,例如:-

@Entity(tableName = "seriesPosition", primaryKeys = ["portalUid","seriesId","episodeId"])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM