dormql 0.3.0
dormql: ^0.3.0 copied to clipboard
Dart Object-Relational Mapping
0.5.0 #
Upcoming #
- ⏳ Support SSL for postgresql connection
- ⏳ Support SSL for mysql connection
- ⏳ Detect SQL injection in raw queries
- ⏳ improve support for stored procedures
- ⏳ Add support for custom types
0.4.0 #
Upcoming #
- ⏳ Integrate YAML file for connection configuration and environment variables
- ⏳ Add tests for migration and schema validation
- ⏳ Add MySQL package support
- ⏳ Add DTO generator
0.3.0 #
Completed #
- ✅ Add
dormql_analyzer_plugin- Static analysis plugin for DormQL annotations - ✅ Entity validation rules (missing ID, multiple IDs, ID type mismatch)
- ✅
@OneToOnerelationship validation (target entity, mappedBy checks) - ✅ Quick fixes for common issues (add ID field, remove nullable marker)
- ✅ Improved
@OneToManyrelationship - auto-resolve FK from target entity's@ManyToOne - ✅ Improved
@OneToManyrelationship - auto-resolve target table from@Entityannotation - ✅ Remove
targetTableparameter from@OneToMany(now auto-resolved) - ✅ Remove
foreignKeyparameter from@OneToMany(now auto-resolved from target's@ManyToOne) - ✅ Better error messages when FK cannot be resolved
- ✅ Removed
dbTypefrom@Entity(database type is now derived from@Db'sDbConfig) - ✅ Extended
@Idto supportautoIncrementandstrategy(includingIDStrategy.uuid) with database-specific auto-increment handling
0.2.0 #
Completed #
- ✅ Add
@OneToOnerelationship annotation - ✅ Add
@PrimaryKey,@Unique,@ForeignKeyConstraint,@Checkannotations - ✅ Add validation for annotation column references (fails if column doesn't exist)
- ✅ Add Schema to SQL extensions (
toCreateTableSql(),toCreateIndexSql(), etc.) - ✅ Add
SchemaManagerfor executing schema operations - ✅ Add migration helper methods (
createTable,addColumn,createIndex, etc.) - ✅ Add
createSchema()method to generated database class - ✅ Add
autoCreateSchemaparameter tosetup()method - ✅ All schema operations use
IF NOT EXISTS/IF EXISTSfor idempotency - ✅ Schema now generated as extension on entity (
EntityNameSchema.schema) - ✅ Database class references entity schemas (no duplication)
- ✅ Build order: entity → schema → db (proper dependency chain)
- ✅ Add
generateSqlparameter to@Dbannotation - ✅ Generate SQL files at
.dart_tool/dorm/<db_name>.sqlon build - ✅ Versioned SQL files:
<db_name>_v<version>.sql
0.1.0 #
Completed #
- ✅ Bring back
part ofdirective in.orm.g.dartfiles for entity files - ✅ Create
@Dbannotation and db generator for database class generation - ✅ Generate repository extensions with singleton pattern
- ✅ Link schema generation to database level (not entity level)
- ✅ Add schema hash for change detection
- ✅ Fail initialization if schema changed but migration version not bumped
- ✅ Integrate
DatabaseMigrationwithMigrationRunner
Breaking Changes #
DatabaseMigration.Up()renamed toDatabaseMigration.up()DatabaseMigration.Down()renamed toDatabaseMigration.down()- Schema is now generated at database level, not entity level
0.0.1 #
- Initial version.