init v2 app
This commit is contained in:
@@ -7,10 +7,16 @@ class PokedexDatabase {
|
||||
static Future<void> initDatabase() async {
|
||||
database = await openDatabase(
|
||||
"pokedex.db", // Nom de la base de données
|
||||
version: 1, // Version de la base de données, permet de gérer les migrations
|
||||
version: 2, // Version de la base de données, permet de gérer les migrations
|
||||
onUpgrade: (db, oldVersion, newVersion) async {
|
||||
if (oldVersion < 2) {
|
||||
await db.execute("DROP TABLE IF EXISTS pokemon");
|
||||
await db.execute("CREATE TABLE pokemon (id INTEGER PRIMARY KEY NOT NULL, name TEXT NOT NULL, type1 TEXT NOT NULL, type2 TEXT, hp INTEGER NOT NULL, atk INTEGER NOT NULL, def INTEGER NOT NULL, spd INTEGER NOT NULL, description TEXT, isCaught INTEGER NOT NULL DEFAULT 0, isSeen INTEGER NOT NULL DEFAULT 0)");
|
||||
}
|
||||
},
|
||||
onCreate: (db, version) async { // Fonction qui sera appelée lors de la création de la base de données
|
||||
// Création de la table pokemon avec les colonnes id, name, type1 et type2
|
||||
await db.execute("CREATE TABLE IF NOT EXISTS pokemon (id INTEGER PRIMARY KEY NOT NULL, name TEXT NOT NULL, type1 TEXT NOT NULL, type2 TEXT)");
|
||||
// Création de la table pokemon avec les colonnes...
|
||||
await db.execute("CREATE TABLE IF NOT EXISTS pokemon (id INTEGER PRIMARY KEY NOT NULL, name TEXT NOT NULL, type1 TEXT NOT NULL, type2 TEXT, hp INTEGER NOT NULL, atk INTEGER NOT NULL, def INTEGER NOT NULL, spd INTEGER NOT NULL, description TEXT, isCaught INTEGER NOT NULL DEFAULT 0, isSeen INTEGER NOT NULL DEFAULT 0)");
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -26,7 +32,11 @@ class PokedexDatabase {
|
||||
// Méthode qui permet d'insérer un Pokémon dans la base de données
|
||||
static Future<void> insertPokemon(Pokemon pokemon) async {
|
||||
Database database = await getDatabase();
|
||||
await database.insert("pokemon", pokemon.toJson());
|
||||
await database.insert(
|
||||
'pokemon',
|
||||
pokemon.toJson(),
|
||||
conflictAlgorithm: ConflictAlgorithm.replace,
|
||||
);
|
||||
}
|
||||
|
||||
// Méthode qui permet de récupérer la liste des pokémons dans la base de données
|
||||
@@ -63,4 +73,12 @@ class PokedexDatabase {
|
||||
}
|
||||
return Pokemon.fromJson(pokemonList.first);
|
||||
}
|
||||
|
||||
// Obtenir le nombre de pokémon attrapés
|
||||
static Future<int> getCaughtCount() async {
|
||||
Database database = await getDatabase();
|
||||
var result = await database.rawQuery("SELECT COUNT(*) FROM pokemon WHERE isCaught = 1");
|
||||
int count = result.isNotEmpty ? (result.first.values.first as int? ?? 0) : 0;
|
||||
return count;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user