realm_generator 0.2.0-alpha.1
realm_generator: ^0.2.0-alpha.1 copied to clipboard
Generates RealmObject classes from Realm data model classes. This package is part of the official Realm Flutter and Realm Dart SDKs.

Description #
Dart code generator that generates RealmObject classes based on Realm data model classes using naming conventions.
This package is part of the official Realm Flutter and Realm Dart SDKs https://github.com/realm/realm-dart
Usage #
- Add a dependency to realm package or realm_dart package to your application.
To generate RealmObjects
-
Run
flutter pub run realm generatefor Flutter projects -
Run
dart run realm_dart generatefor Dart projects
Conventions #
-
Every Dart class annotated with
@RealmModel()and named with an underscore like_ClassName, is considered a Realm data model class and the code generator will generate aRealmObjectclass that can be used with Realm Flutter™ and Realm Dart™. -
The Dart file containg Realm schema classes needs to have a part defintion name in the format
part "filename.g.dart".For example: In file
cars.dartthere should be a part definitionpart "cars.g.dart" -
The underscore in the class name is requried.
class _Car. -
Every field that references another
RealmObjectmust use the schema class name of that RealmObject. For example:class _Car { late _Car secondCar; } -
The generator will infer the
Realmtype from the Dart type of every property of the class.
Example #
Filename: cars.dart
part "cars.g.dart"
@RealmModel()
class _Car {
late String make; //required field
late String? model; //optional field
String kilometers = 500; //default value
late _Car? secondCar; //Object relationship 1:1
final List<_Car> allOtherCars; //Object relationship 1:Many
}
Debugging #
-
On first use .dart_tool/build/entrypoint/build.dart needs to be generated with pub run build_runer build
-
Use a terminal to launch a debuggee with command
dart --observe --pause-isolates-on-start --enable-vm-service:5858/127.0.0.1 --disable-service-auth-codes .dart_tool/build/entrypoint/build.dart build