docs
Bir klasöre şema ihracat Odası anlatmak için ek açıklama işlemci argüman (room.schemaLocation) ayarlayabilirsiniz söylerler. Zorunlu olmamasına rağmen, kod geçmişinizde sürüm geçmişine sahip olmak iyi bir uygulamadır ve bu dosyayı sürüm kontrol sisteminize eklemelisiniz (ancak uygulamanızla birlikte göndermeyin!).
Yani şema kontrol etmek gerekmez ve aşağıdaki gibi, sadece senin RoomDatabase
için exportedSchema = false
ekleyin uyarı kurtulmak istiyorum. Aşağıda @mikejonesguy answer izlerseniz
@Database(entities = { YourEntity.class }, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
...
}
, dokümanların :) belirtilen iyi uygulamaların takip edecektir. Temel olarak, ../app/schemas/
klasörünüzde bir .json
dosyasını alırsınız. Ve şuna benzer: Benim anlayış doğru olup
{
"formatVersion": 1,
"database": {
"version": 1,
"identityHash": "53db508c5248423325bd5393a1c88c03",
"entities": [
{
"tableName": "sms_table",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message` TEXT, `date` INTEGER, `client_id` INTEGER)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER"
},
{
"fieldPath": "message",
"columnName": "message",
"affinity": "TEXT"
},
{
"fieldPath": "date",
"columnName": "date",
"affinity": "INTEGER"
},
{
"fieldPath": "clientId",
"columnName": "client_id",
"affinity": "INTEGER"
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [],
"foreignKeys": []
}
],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"53db508c5248423325bd5393a1c88c03\")"
]
}
}
varsa kolayca db tarihini takip edebilir, böylece, sen her veritabanı sürümü güncelleme ile böyle bir dosya alacak.
kullanırken Kotlin için de çalışıyor. Teşekkür ederim, Benim için çalışıyor. –
Aynı hataya rastladım, ancak varlığımın bir kurucunun eklenmesiydi.Hatalar ve yeni bir boş yapıcıyı ekleyen herhangi bir kurucuya '@Ignore' ekleyin. – Codeversed
Gerçekten "Uygulamanızla birlikte gönderilmiyor" ifadesinin anlamı nedir? APK’da yer alacak mı? –