অনুযায়ী ডক্স :
রুমটি কোনও ফোল্ডারে রফতানি করতে আপনার ঘরে ডেকে আনতেটেশন প্রসেসরের আর্গুমেন্ট (room.schemaLocation) সেট করতে পারেন। এটি বাধ্যতামূলক না হলেও, আপনার কোডবেজে সংস্করণ ইতিহাস থাকা ভাল অভ্যাস এবং আপনার ফাইলটি আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেমে প্রতিশ্রুতি দেওয়া উচিত (তবে এটি আপনার অ্যাপ্লিকেশন দিয়ে শিপ করবেন না)।
সুতরাং যদি আপনার স্কিমাটি পরীক্ষা করার প্রয়োজন না হয় এবং আপনি সতর্কতা থেকে মুক্তি পেতে চান তবে নীচের exportSchema = false
মত আপনার সাথে যুক্ত করুন RoomDatabase
।
@Database(entities = { YourEntity.class }, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
//...
}
আপনি যদি নীচে @ মাইকেজোনসগুই উত্তরটি অনুসরণ করেন তবে আপনি ডক্সে উল্লিখিত ভাল অনুশীলনটি অনুসরণ করবেন :)। মূলত আপনি .json
আপনার ../app/schemas/
ফোল্ডারে একটি ফাইল পাবেন । এবং এটি দেখতে এরকম কিছু দেখাচ্ছে:
{
"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\")"
]
}
}
যদি আমার বোঝাপড়াটি সঠিক হয়, আপনি প্রতিটি ডাটাবেস সংস্করণ আপডেটের সাথে একটি ফাইল পাবেন যাতে আপনি সহজেই আপনার ডিবি এর ইতিহাস অনুসরণ করতে পারেন।