sequelize_orm_generator 0.2.0 copy "sequelize_orm_generator: ^0.2.0" to clipboard
sequelize_orm_generator: ^0.2.0 copied to clipboard

Code generator for sequelize_orm. Generates type-safe model classes, query builders, and a centralized model registry from annotated Dart classes using build_runner.

example/example.dart

/// # Sequelize ORM Generator — Example
///
/// This generator creates type-safe model classes from annotated Dart classes
/// using `build_runner`.
///
/// ## 1. Define a model
///
/// ```dart
/// import 'package:sequelize_orm/sequelize_orm.dart';
///
/// part 'user.model.g.dart';
///
/// @Table(tableName: 'users', underscored: true)
/// abstract class User {
///   @PrimaryKey()
///   @AutoIncrement()
///   @NotNull()
///   DataType id = DataType.INTEGER;
///
///   @NotNull()
///   DataType email = DataType.STRING;
///
///   @ColumnName('first_name')
///   @NotNull()
///   DataType firstName = DataType.STRING;
///
///   @ColumnName('last_name')
///   DataType lastName = DataType.STRING;
///
///   @HasMany(Post, foreignKey: 'user_id', as_: 'posts')
///   DataType posts = DataType.INTEGER;
/// }
/// ```
///
/// ## 2. Run code generation
///
/// ```bash
/// # Recommended
/// dart run sequelize_orm_generator:generate
///
/// # Or
/// dart run build_runner build --delete-conflicting-outputs
/// ```
///
/// ## 3. Generated output
///
/// The generator produces:
///
/// - `UserModel` — static query methods (`findAll`, `findOne`, `create`, etc.)
/// - `UserValues` — instance data with methods (`save`, `reload`, `destroy`)
/// - `CreateUser` / `UpdateUser` — type-safe DTOs
/// - `UserColumns` — column references for where clauses
/// - `UserQuery` — extends columns with association references
/// - `UserIncludeHelper` — type-safe eager loading builder
///
/// ## 4. Use the generated code
///
/// ```dart
/// // Create a user
/// final user = await User.model.create(
///   CreateUser(
///     email: 'alice@example.com',
///     firstName: 'Alice',
///     lastName: 'Smith',
///   ),
/// );
///
/// // Query with type-safe where clause
/// final found = await User.model.findOne(
///   where: (u) => u.email.eq('alice@example.com'),
/// );
///
/// // Eager-load associations
/// final withPosts = await User.model.findAll(
///   include: (i) => [i.posts()],
/// );
/// ```
library;
0
likes
150
points
520
downloads

Publisher

unverified uploader

Weekly Downloads

Code generator for sequelize_orm. Generates type-safe model classes, query builders, and a centralized model registry from annotated Dart classes using build_runner.

Repository (GitHub)
View/report issues
Contributing

Topics

#orm #code-generation #build-runner #database #sql

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, build, glob, path, sequelize_orm, source_gen, yaml

More

Packages that depend on sequelize_orm_generator