package com.example.data.local import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase @Database( entities = [ FoodItemEntity::class, FoodReviewEntity::class, OrderEntity::class, NotificationEntity::class, DeliveryRiderEntity::class, UserEntity::class, CartItemEntity::class ], version = 7, exportSchema = false ) abstract class LoveZoneDatabase : RoomDatabase() { abstract fun foodItemDao(): FoodItemDao abstract fun foodReviewDao(): FoodReviewDao abstract fun orderDao(): OrderDao abstract fun notificationDao(): NotificationDao abstract fun deliveryRiderDao(): DeliveryRiderDao abstract fun userDao(): UserDao abstract fun cartItemDao(): CartItemDao companion object { @Volatile private var INSTANCE: LoveZoneDatabase? = null fun getDatabase(context: Context): LoveZoneDatabase { return INSTANCE ?: synchronized(this) { val instance = Room.databaseBuilder( context.applicationContext, LoveZoneDatabase::class.java, "love_zone_database" ).fallbackToDestructiveMigration().build() INSTANCE = instance instance } } } }