laconic 1.0.2
laconic: ^1.0.2 copied to clipboard
A laravel like sql query builder for relational database designed to be flexible, portable and easy to use.
1.0.2 #
Features #
- Complete JOIN Support - Add all common JOIN types aligned with Laravel
leftJoin()- LEFT JOIN queriesrightJoin()- RIGHT JOIN queriescrossJoin()- CROSS JOIN queries (cartesian product)
- Enhanced JoinClause - Add 12 new condition methods for complex JOIN queries
- Column conditions:
whereColumn(),orWhereColumn() - NULL conditions:
whereNull(),orWhereNull(),whereNotNull(),orWhereNotNull() - IN conditions:
whereIn(),orWhereIn(),whereNotIn(),orWhereNotIn()
- Column conditions:
Testing #
- Refactor test files for better organization
test/test_helper.dart- Shared configuration, schema definitions, and test datatest/sqlite_test.dart- SQLite-specific teststest/mysql_test.dart- MySQL-specific teststest/postgresql_test.dart- PostgreSQL-specific tests
- Unified test data across all three databases
- Total test count: 204 tests (all passing)
Documentation #
- README restructure - English is now the default, Chinese available as optional link
README.md- English documentation (default)README_ZH.md- Chinese documentation
- Update COMPARISON_REPORT.md with complete JOIN coverage analysis
- Update CLAUDE.md with new architecture details and test structure
- Add comprehensive JOIN examples in documentation
Statistics #
- Total methods: 57
- Laravel coverage: ~75%
- JOIN coverage: 82%
- Test coverage: 204 test cases across 3 databases
1.0.1 #
Features #
- PostgreSQL Support - Add full PostgreSQL database support
- New
Laconic.postgresql(config)constructor - PostgreSQL-specific parameter binding (
$1, $2, $3...) RETURNING idclause forinsertGetId()- Connection pooling with up to 10 concurrent connections
- SSL connection support
- New
Architecture #
- Add
PostgresqlGrammarclass for PostgreSQL-specific SQL generation - Add
compileInsertGetId()method to Grammar interface- Separates INSERT and INSERT RETURNING logic
- PostgreSQL uses
RETURNING idclause - MySQL/SQLite use
lastInsertIdmechanism
- Add
PostgresqlConfigfor PostgreSQL connection configuration
Testing #
- Add comprehensive PostgreSQL test suite (64 tests)
- Unify test data structure across SQLite, MySQL, and PostgreSQL
- All 187 tests passing across three databases
1.0.0+36 #
Features #
- Add advanced query methods:
whereAll(),whereAny(),whereNone() - Add column comparison methods:
whereBetweenColumns(),whereColumn() - Enhanced JOIN support:
orOn(),where(),orWhere()conditions - Add batch insert functionality, support inserting lists of data
- Add transaction support for MySQL and SQLite
- Add query listener for SQL debugging and logging
- Add
addSelect()method for appending select fields - Add
when()conditional method
Breaking Changes #
- Refactor AST-based query builder to Grammar pattern
- Simplified code structure for better maintainability
- More flexible SQL generation mechanism
- Easier to extend support for new databases
Documentation #
- Add Chinese documentation and improve English README
- Add comprehensive comparison report between Laconic and Laravel Query Builder
- Update CLAUDE.md with architecture details and development guide
- Enhanced example code with comprehensive usage demonstrations
- Add Flutter dependency requirement note
Improvements #
- Unify API naming: rename
mysqlLaconicandsqliteLaconictolaconic - Improve constructors to accept config parameters directly
- Optimize connection management with proper close calls
0.0.1 #
- Initial version.