Flutter ORM M8 Generator
VS Code extension to generate models and database adapter based on f-orm-m8 framework for Flutter application
Introduction
This VS Code extension scaffolds a Flutter project, adding f-orm-m8 dependencies and framework. The current framework integrates f-orm-m8-sqlite generator engine and is dedicated for SQLite data repository. In the future, we plan to extend the generator engines to other data repository types.
Features
- Check if the project is a Flutter one, and add the required dependencies to pubspec.yaml
- Generates the f-orm-m8 framework folder structure
- Entering the model name, the user have the possibility to generate templated starter models implementing:
- DbEntity
- DbAccountEntity
- DbAccountRelatedEntity
- Parse the existing and newly created models annotations and generates, according to f-orm-m8 annotation system, the fixture and the database adapter
Requirements
- The Flutter extension dart-code.flutter
- The Dart extension dart-code.dart-code
Installation
Install from the Visual Studio Code Marketplace or by searching within VS Code for @id:matei-tm.f-orm-m8-generator.
Documentation
The extension registers two commands (accessible from Command Palette...
):
f-orm-m8: Generate Sqlite Fixture
– to interactively generatef-orm-m8
compatible models and fixturef-orm-m8: Regenerate
– to regenerate fixture after direct user changes
For more details, please see:
- "A simple CRUD Flutter application with f-orm-m8-sqlite" – 5 min article & demo app
- The f-orm-m8-sqlite project example app
- The f-orm-m8.info community site
- f-orm-m8 framework documentation – annotations and conventions
- f-orm-m8-sqlite generator documentation
Changelog
Please see project’s changelog
Disclaimer
Important: This extension, being a code generator, will create files and folders on the hard drive. Use a suitable source control system (eg, git) to protect your code from transient changes. The generator creates or updates, in the current Flutter project, the following files/folders:
- pubspec.yaml
- lib/models/*.dart
- lib/main.adapter.g.m8.dart
Although I should not overwrite any file, other than those mentioned, during this process, I do not provide any warranty or take any responsibility for the loss of data.