🛠️ Migration Table – āϏāĻšāϜ āĻ­াāώা⧟ āĻŦ্āϝাāĻ–্āϝা

 

🛠️ Migration Table – āϏāĻšāϜ āĻ­াāώা⧟ āĻŦ্āϝাāĻ–্āϝা

Migration Table āĻŽাāύে āĻšāϞো āĻĄাāϟাāĻŦেāϏেāϰ āφāĻĒāĻĄেāϟ āĻ•āϰা! 🤔

āϧāϰুāύ, āφāĻĒāύি āĻāĻ•āϟা Android āĻ…্āϝাāĻĒ āĻŦাāύি⧟েāĻ›েāύ, āϝেāĻ–াāύে āĻāĻ•āϟা User Table āφāĻ›ে।
📌 āĻĒ্āϰāĻĨāĻŽে User Table āĻĻেāĻ–āϤে āĻāĻŽāύ āĻ›িāϞঃ

ID Name Email
1 Alex alex@email.com
2 Bob bob@email.com

āĻāĻ–āύ, āφāĻĒāύি āĻ িāĻ• āĻ•āϰāϞেāύ Phone Number āĻĢিāϞ্āĻĄ āϝোāĻ— āĻ•āϰāĻŦেāύ!
āĻ•িāύ্āϤু āϏāĻŽāϏ্āϝা āĻšāϞো— āĻĄাāϟাāĻŦেāϏ āϤো āφāĻ—েāχ āĻŦাāύাāύো! āĻāĻ–āύ āĻ•ীāĻ­াāĻŦে āύāϤুāύ Phone Number āϝোāĻ— āĻ•āϰāĻŦেāύ, āφāĻ—েāϰ āĻĄাāϟা āĻŽুāĻ›েāĻ“ āĻĢেāϞāϤে āϚাāύ āύা? đŸ¤¯

✅ āϏāĻŽাāϧাāύ: Migration Table! 🚀


📌 Migration Table āĻ•ী?

Migration Table āĻšāϞো āĻĄাāϟাāĻŦেāϏেāϰ āϏ্āϟ্āϰাāĻ•āϚাāϰ āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰাāϰ āĻāĻ•āϟা āĻĒāĻĻ্āϧāϤি, āϝেāĻ–াāύে āφāĻ—েāϰ āĻĄাāϟা āĻŽুāĻ›ে āύা āĻĢেāϞে āύāϤুāύ āĻĢিāϚাāϰ āϝোāĻ— āĻ•āϰা āĻšā§Ÿ।

✔ āĻĢিāϞ্āĻĄ (Column) āϝোāĻ— āĻ•āϰা āĻŦা āĻŽুāĻ›া
✔ āύāϤুāύ āϟেāĻŦিāϞ āĻŦাāύাāύো
✔ āĻ•োāύো āϟেāĻŦিāϞেāϰ āύাāĻŽ āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰা
✔ āĻĄাāϟাāϰ āϟাāχāĻĒ āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰা


📖 āĻŦাāϏ্āϤāĻŦ āωāĻĻাāĻšāϰāĻŖ (Room Database + Kotlin)

āϧāϰুāύ, āφāĻŽāϰা Room Database āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻ›ি, āĻāĻŦং āφāĻŽাāĻĻেāϰ User Table āĻ›িāϞ āĻāχāϰāĻ•āĻŽঃ

@Entity(tableName = "users")
data class User(
    @PrimaryKey(autoGenerate = true) val id: Int,
    val name: String,
    val email: String
)

āĻāĻ–āύ āφāĻŽāϰা Phone Number āϝুāĻ•্āϤ āĻ•āϰāϤে āϚাāχ। āĻāϜāύ্āϝ Migration Table āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦো।

🛠️ Step 1: āύāϤুāύ Version āϤৈāϰি āĻ•āϰুāύ

Room Database-āĻāϰ āĻ­াāϰ্āϏāύ āφāĻĒāĻ—্āϰেāĻĄ āĻ•āϰāϤে āĻšāĻŦে—

@Database(entities = [User::class], version = 2)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}

🛠️ Step 2: Migration Code āϞিāĻ–ুāύ

val MIGRATION_1_2 = object : Migration(1, 2) {
    override fun migrate(database: SupportSQLiteDatabase) {
        database.execSQL("ALTER TABLE users ADD COLUMN phone_number TEXT")
    }
}

āĻāĻ–াāύে āφāĻŽāϰা ALTER TABLE āĻĻি⧟ে Phone Number āĻ•āϞাāĻŽ āϝুāĻ•্āϤ āĻ•āϰেāĻ›ি।

🛠️ Step 3: Migration Enable āĻ•āϰুāύ

val db = Room.databaseBuilder(
    context,
    AppDatabase::class.java, "my_database"
)
    .addMigrations(MIGRATION_1_2)
    .build()

✅ āĻŦ্āϝāϏ! āφāĻ—েāϰ āĻĄাāϟা āύা āĻšাāϰি⧟েāχ āύāϤুāύ āĻĢিāϞ্āĻĄ āϝোāĻ— āĻšā§Ÿে āĻ—েāϞ! 🎉


📌 āĻ•āĻ–āύ Migration āĻĒ্āϰ⧟োāϜāύ?

  • Table-āĻ āύāϤুāύ Column āϝোāĻ— āĻ•āϰāϞে
  • Column-āĻāϰ āĻĄাāϟা āϟাāχāĻĒ āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰāϞে
  • āύāϤুāύ Table āϝোāĻ— āĻ•āϰāϞে
  • āĻ•োāύো āĻĒুāϰāύো Table āĻĄিāϞিāϟ āĻ•āϰāϞে

🚀 āϏুāĻŦিāϧা (Why Use Migration Table?)

✅ āĻĄাāϟা āĻšাāϰাāύোāϰ āϭ⧟ āύেāχ!
✅ āĻĒুāϰāύো āĻ…্āϝাāĻĒ āφāĻĒāĻĄেāϟ āĻ•āϰāϞেāĻ“ āĻ•োāύো āϏāĻŽāϏ্āϝা āĻšāĻŦে āύা!
✅ Production āĻ…্āϝাāĻĒে āϏāĻšāϜে āĻĒāϰিāĻŦāϰ্āϤāύ āφāύা āϝা⧟!

📌 āϏংāĻ•্āώেāĻĒে: Migration Table āĻāĻŽāύ āĻāĻ•āϟা āϟেāĻ•āύিāĻ•, āϝা āĻĄাāϟাāĻŦেāϏāĻ•ে āύāϤুāύāĻ­াāĻŦে āφāĻĒāĻĄেāϟ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে— āĻĒুāϰāύো āĻĄাāϟা āĻšাāϰাāύো āĻ›া⧜াāχ! 🚀

🛠 Migration Table - Explanation in simple language

Comments

Popular posts from this blog

AI (Artificial Intelligence) āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻাāϰ āϜāύ্āϝ āĻāĻ•āĻĻāĻŽ āĻŽāϏ্āϤিāώ্āĻ•-āĻŦাāύ্āϧāĻŦ āĻŦ্āϝাāĻ–্āϝা 🧠🤖

🧠 Regex āĻ•ী?

Kotlin-āĻ āĻ­েāϰিāϝ়েāĻŦāϞ āϘোāώāĻŖা āĻ•āϰাāϰ āĻĻুāχ āωāĻĒাāϝ়