import 'package:flutter/cupertino.dart'; import 'package:flutter_habit/database/entity/BasicInfo.dart'; import 'package:flutter_habit/database/entity/ExerciseInfo.dart'; import 'package:flutter_habit/database/entity/FoodInfo.dart'; import 'package:flutter_habit/database/entity/LifeInfo.dart'; import 'package:flutter_habit/database/entity/ScheduledExercise.dart'; import 'package:flutter_habit/database/entity/SportInfo.dart'; import 'package:flutter_habit/database/entity/StudyInfo.dart'; import 'package:sqflite/sqflite.dart'; class SqfliteDataBase { static final String dbPath = "repository.db.sql"; static Database? _database; static Future init() async { if (_database == null || !_database!.isOpen) { String databasesPath = "${await getDatabasesPath()}/$dbPath"; _database = await openDatabase(databasesPath, version: 1); await _createTablesIfExists(); debugPrint("init SqfliteDataBase"); } } static Database? getInstance() { return _database; } static Future _createTablesIfExists() async { await BasicInfo.create(); await LifeInfo.create(); await FoodInfo.create(); await ExerciseInfo.create(); await SportInfo.create(); await StudyInfo.create(); await ScheduledExercise.create(); } static Future resetTables() async { await BasicInfo.recreate(); await LifeInfo.recreate(); await FoodInfo.recreate(); await ExerciseInfo.recreate(); await SportInfo.recreate(); await StudyInfo.recreate(); await ScheduledExercise.recreate(); } }