import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
part 'person_model.g.dart';
@HiveType(typeId: 1)
class PersonModel extends HiveObject {
@HiveField(0)
int personID = UniqueKey().hashCode;
@HiveField(1)
String personName = "";
@HiveField(2)
double personWeight = 0.0;
@HiveField(3)
double personHeight = 0.0;
@HiveField(4)
double personBMI = 0.0;
@HiveField(5)
bool personHasGoodBMI = false;
PersonModel();
PersonModel.create(this.personID, this.personName, this.personWeight,
this.personHeight, this.personBMI, this.personHasGoodBMI);
}
For some reason, when I run dart run build_runner build
, the person_model.g.dart
is not generated.
I get no errors, actually it gives me success but the file is nowhere to be found. It's the first time this happens to me, can I get any explanation?
Hi i solved this issue by changing your code like this
import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
part 'person_model.g.dart';
@HiveType(typeId: 100)
class PersonModel {
@HiveField(0)
int personID = UniqueKey().hashCode;
@HiveField(1)
String personName = "";
@HiveField(2)
double personWeight = 0.0;
@HiveField(3)
double personHeight = 0.0;
@HiveField(4)
double personBMI = 0.0;
@HiveField(5)
bool personHasGoodBMI = false;
PersonModel(this.personID, this.personName, this.personWeight,
this.personHeight, this.personBMI, this.personHasGoodBMI);
}
For generate the .g.dart files use flutter pub run build_runner build --delete-conflicting-outputs
make sure that you fille is named as person_model.dart