Skip to content

v0.10.1

Compare
Choose a tag to compare
@SpaceShaman SpaceShaman released this 14 Aug 15:58
· 74 commits to master since this release

Refactoring & Code Reorganization

  • Significant refactoring to improve code modularity, readability, and maintainability. The logic related to saving, updating, and managing database tables has been reorganized into dedicated modules (data_saver.py and table_manager.py), allowing for better separation of concerns.
  • Renamed methods and variables for clarity and consistency across the codebase.

New Features

  • Introduced support for column renaming and adding columns with constraints in the update_table method, enhancing the flexibility of schema updates.

SQLite Enhancements

  • Enabled Write-Ahead Logging (WAL) mode in SQLite for improved performance and concurrency.

Testing

  • Expanded tests to cover the new schema update features, ensuring reliability and robustness.

This update focuses on enhancing the internal structure of the code, making it more modular and easier to maintain, while also adding critical new functionality for database schema management.

Features and Roadmap

  • Define table schema using Pydantic models
  • Basic CRUD operations
    • Save data to the database
    • Read data from the database
    • Update data in the database
    • Delete data from the database
  • Relationships between tables
    • One-to-many
      • Create a tables with a foreign key
      • Save data with a foreign key
      • Read data with a foreign key
      • Update data with a foreign key
      • Delete data with a foreign key
        • Cascade
        • Set null
        • Restrict
        • Set default
        • No action
    • One-to-one
    • Many-to-many
  • Unique constraints
  • Remove table
  • Read all data from the database
  • Filter data and retrieve multiple records
    • Equal
    • Not equal
    • Greater than
    • Greater than or equal
    • Less than
    • Less than or equal
    • Like (Pattern matching with % and _)
    • Not like (Pattern matching with % and _)
    • In (List of values)
    • Not in (List of values)
    • Between (Two values)
    • Not between (Two values)
  • Protect against SQL injection
  • Order by
  • Limit and offset
  • Update table schema
    • Add new column
    • Rename column
    • Drop column
  • Custom primary key
  • Bulk operations (save, update, delete)
  • Migrations

Full Changelog: v0.10.0...v0.10.1