supabase_annotations 1.1.3 copy "supabase_annotations: ^1.1.3" to clipboard
supabase_annotations: ^1.1.3 copied to clipboard

Code generator for Supabase/PostgreSQL database schemas from Dart classes. Supports RLS policies, indexes, foreign keys, migration, and table partitioning.

Changelog #

All notable changes to the Supabase Annotations package will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.1.3 #

Improved #

  • πŸ“ Documentation: Cleaned up changelog by removing specific dates for better maintainability
  • πŸ”„ Version Management: Updated to semantic versioning without timestamp dependencies

1.1.2 #

Added #

  • πŸ“š Professional Documentation: Complete README overhaul with comprehensive navigation
  • 🎯 Enhanced Examples: Real-world use cases for multi-tenant apps, e-commerce, and analytics
  • πŸ”— Navigation Links: Table of contents with anchor links for easy navigation
  • πŸ“Š Visual Improvements: Professional badges, emojis, and better formatting
  • πŸ› οΈ Development Guide: Comprehensive contributor documentation
  • πŸ“ž Community Support: Clear support channels and community guidelines

Improved #

  • πŸ“– Documentation Structure: Logical organization with clear sections
  • 🎨 Visual Appeal: Consistent emoji usage and professional formatting
  • πŸ“± Responsive Design: Markdown optimized for all platforms
  • πŸ” Searchability: Better keywords and descriptions for discoverability

Fixed #

  • πŸ“ Documentation Accuracy: Updated all examples to reflect current API
  • πŸ”— Link Consistency: All internal and external links verified and updated

1.1.1 #

Fixed #

  • πŸ”§ Build System: Resolved build configuration issues
  • πŸ“¦ Dependencies: Updated dependency constraints for better compatibility
  • πŸ› Minor Bugs: Various small fixes for improved stability

1.1.0 #

Added #

  • πŸš€ Migration Support: Complete schema migration system with 5 migration modes:
    • createOnly: Original behavior (default)
    • createIfNotExists: Safe table creation with IF NOT EXISTS
    • createOrAlter: Create table if not exists, then add missing columns
    • alterOnly: Only generate ALTER TABLE statements for existing schemas
    • dropAndRecreate: Drop and recreate tables (development only)
  • πŸ”„ PostgreSQL DO Blocks: Conditional ALTER TABLE statements using DO blocks for maximum safety
  • βš™οΈ Migration Configuration: Extensive configuration options in build.yaml:
    • migration_mode: Choose migration strategy
    • enable_column_adding: Control column addition behavior
    • generate_do_blocks: Use PostgreSQL DO blocks for conditional operations
  • πŸ—‚οΈ Table Partitioning: Full PostgreSQL partitioning support:
    • RangePartition: Partition by range (ideal for time-series data)
    • HashPartition: Partition by hash (for even data distribution)
    • ListPartition: Partition by list (for categorical data)
  • πŸ”§ Composite Primary Keys: Automatic composite primary key generation for partitioned tables
  • πŸ“š Migration Documentation: Comprehensive migration guide and examples

Fixed #

  • Critical: PostgreSQL partitioned table primary key constraints now include all partition columns
  • Critical: ALTER TABLE statements no longer generate conflicting PRIMARY KEY constraints
  • Migration modes properly handle existing table scenarios without errors
  • Partition clause SQL formatting and generation

Improved #

  • Enhanced SQL formatter with partition clause support
  • Better error handling for partition configuration validation
  • Backward compatibility maintained - existing code continues to work
  • More robust annotation parsing for complex configurations

Examples #

  • Added comprehensive migration examples for all modes
  • Added partition table examples with different strategies
  • Updated build.yaml configuration examples

1.0.6 #

Fixed #

  • Critical: Fixed RLS Policy annotation parsing - resolved "Null check operator used on a null value" error when processing RLSPolicy annotations
  • Critical: Fixed enum value handling in annotation processing - RLSPolicyType and other enums now parse correctly
  • Improved error handling for null annotation values to prevent build failures
  • Enhanced annotation reading safety with proper null checks

Improved #

  • Better error messages for annotation parsing issues
  • More robust handling of optional annotation parameters
  • Enhanced test coverage for RLS policy generation

1.0.5 #

Fixed #

  • Critical: Fixed index column name mapping issues - indexes now properly recognize database column names vs field names
  • Critical: Fixed column type parsing - all column types (UUID, TEXT, JSONB, TIMESTAMP WITH TIME ZONE, etc.) now generate correctly
  • Critical: Fixed foreign key column references - foreign keys now include proper column names instead of empty references
  • Critical: Fixed composite primary key duplication - individual columns no longer get PRIMARY KEY constraint when part of composite key
  • Fixed SQL formatting issues - proper line breaks and comma separation between columns
  • Fixed missing index comments in generated SQL

Improved #

  • Enhanced SQL readability with proper formatting and structure
  • Better error handling for null values in annotation processing
  • Improved validation for database schema generation
  • Added comprehensive test coverage for edge cases

1.0.4 #

Fixed #

  • Fixed static analysis issues by removing invalid @immutable annotations from enums
  • Cleaned up unused imports to eliminate linting warnings
  • Standardized LICENSE file to OSI-approved MIT License format for proper pub.flutter-io.cn recognition
  • Added proper example package structure with pubspec.yaml for better pub.flutter-io.cn scoring
  • Enhanced example documentation and build configuration

Improved #

  • Significantly improved pub.flutter-io.cn package score by addressing all major scoring criteria
  • Better package discoverability and community accessibility

1.0.3 #

Fixed #

  • Improved package reliability and build system stability
  • Enhanced error handling for edge cases
  • Better validation for schema generation

1.0.2 #

Fixed #

  • Fixed static analysis issues by removing unnecessary library names
  • Added proper library directives to resolve dangling documentation comments
  • Improved package score for pub.flutter-io.cn by addressing linting issues
  • Enhanced code quality and documentation standards

1.0.1 #

Fixed #

  • Updated README.md with correct package version and repository links
  • Fixed version number consistency in documentation
  • Improved package metadata for better discoverability

1.0.0 #

Added #

πŸ—οΈ Core Features

  • PostgreSQL Schema Generation: Convert Dart classes to SQL DDL statements
  • Type-Safe Column Mapping: Complete Dart-to-PostgreSQL type system
  • Row Level Security (RLS): Declarative policy generation and management
  • Foreign Key Relationships: Full referential integrity support
  • Database Indexes: Multiple index types with optimization
  • Schema Validation: Comprehensive validation and error reporting

πŸ” Security Features

  • RLS Policies: Support for all policy types (SELECT, INSERT, UPDATE, DELETE, ALL)
  • Fine-Grained Permissions: Row and column-level access control
  • Authentication Integration: Built-in Supabase auth helpers
  • SQL Injection Protection: Safe parameterized conditions
  • Access Control: Role-based permission management

⚑ Performance Features

  • Smart Indexing: Automatic index recommendations
  • Multiple Index Types: B-tree, Hash, GIN, GiST, SP-GiST, BRIN support
  • Composite Indexes: Multi-column index optimization
  • Partial Indexes: Conditional indexing for large tables
  • Query Optimization: Performance-aware SQL generation

πŸ”— Foreign Key Support

  • Cascade Actions: NO ACTION, RESTRICT, CASCADE, SET NULL, SET DEFAULT
  • Composite Keys: Multi-column foreign key relationships
  • Self-referencing: Support for hierarchical data structures
  • Deferrable Constraints: Transaction-level constraint checking

πŸ“Š Column Types & Constraints

  • Complete PostgreSQL Types: All standard PostgreSQL data types
  • Custom Constraints: CHECK constraints with validation
  • Default Values: Rich default value support including functions
  • Nullability Control: Explicit NULL/NOT NULL configuration
  • Primary Keys: Single and composite primary key support

πŸ›‘οΈ Validation & Error Handling

  • Schema Validation: Comprehensive validation with detailed error messages
  • Type Compatibility: Automatic Dart-to-PostgreSQL type checking
  • Constraint Validation: Business rule and constraint validation
  • Performance Warnings: Index and query optimization suggestions
  • Build-time Errors: Catch issues before deployment

πŸ”§ Code Generation

  • SQL DDL Generation: Complete CREATE TABLE statements
  • Index Generation: Optimized index creation statements
  • Policy Generation: RLS policy creation and management
  • Comment Generation: Automatic documentation in SQL
  • Clean Output: Formatted, readable SQL generation

🎯 Developer Experience

  • Type Safety: Full compile-time type checking with null safety
  • IDE Support: Complete IntelliSense and code completion
  • Comprehensive Documentation: Inline help and examples
  • Clear Error Messages: Actionable error reporting with suggestions
  • Rich Examples: Real-world usage patterns and best practices

πŸ›οΈ Architecture & Design

  • SOLID Principles: Clean, maintainable architecture
  • Domain-Driven Design: Clear domain models and language
  • Extensible Design: Plugin architecture for customization
  • Test-Driven Development: Comprehensive test coverage
  • Performance Optimized: Efficient code generation

πŸ“š Documentation & Examples

  • Quick Start Guide: Get running in minutes
  • API Reference: Complete annotation documentation
  • Best Practices: Production-ready patterns
  • Real-world Examples: E-commerce, CMS, SaaS patterns
  • Migration Guide: Step-by-step upgrade instructions

πŸ§ͺ Testing & Quality

  • Unit Tests: Comprehensive unit test coverage
  • Integration Tests: End-to-end database testing
  • Static Analysis: Strict linting and quality checks
  • CI/CD: Automated testing on multiple platforms
  • Code Coverage: High test coverage requirements

🌐 Compatibility

  • Dart SDK: 3.2.0 and above with null safety
  • PostgreSQL: 12.0+ with full feature support
  • Supabase: All current versions
  • Platforms: Windows, macOS, Linux development support

πŸ—ΊοΈ Development Roadmap #

Planned Features #

v1.2.0 - Advanced Migration Tools

  • Schema Diff Tools: Automatic migration generation from schema changes
  • Rollback Support: Safe rollback mechanisms for failed migrations
  • Migration Testing: Built-in migration validation and testing
  • Data Migration: Support for data transformation during schema changes

v1.3.0 - Extended PostgreSQL Features

  • Stored Procedures: Generation of PostgreSQL functions and procedures
  • Triggers: Event-driven database logic support
  • Views: Materialized and standard view generation
  • Extensions: Support for PostgreSQL extensions

v1.4.0 - Advanced Analytics

  • Query Analysis: Performance analysis and optimization suggestions
  • Schema Metrics: Database schema health and performance metrics
  • Usage Patterns: Analysis of schema usage and optimization opportunities
  • Documentation Generation: Automatic schema documentation

v2.0.0 - Next Generation Features

  • GraphQL Integration: Automatic GraphQL schema generation
  • Real-time Support: Enhanced real-time subscription features
  • Cloud Integration: Direct cloud deployment and management
  • Advanced Caching: Intelligent caching strategies

πŸ“ž Support & Contributing #

Getting Help #

Contributing #

We welcome contributions! Please see our Contributing Guide for details.

Changelog Conventions #

  • Added: New features and capabilities
  • Changed: Changes in existing functionality
  • Deprecated: Soon-to-be removed features
  • Removed: Removed features
  • Fixed: Bug fixes and corrections
  • Security: Security-related improvements

For detailed information about any release, please see the corresponding release notes and documentation.

2
likes
150
points
440
downloads

Publisher

verified publisherahmetaydin.dev

Weekly Downloads

Code generator for Supabase/PostgreSQL database schemas from Dart classes. Supports RLS policies, indexes, foreign keys, migration, and table partitioning.

Repository (GitHub)
View/report issues

Topics

#supabase #postgresql #database #schema #code-generation

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, build, collection, logging, meta, path, recase, source_gen, yaml

More

Packages that depend on supabase_annotations