Introduction
ORM system of Myroslav Shymkiv
Welcome to the documentation for @myroslavshymon/orm (ORM) and ORM-CLI. My system is a powerful and flexible tool for working with databases in a NodeJS environment, allowing developers to effectively interact with relational databases such as PostgreSQL and MySQL. The ORM is designed to simplify data handling, ensure security, and enhance performance.
Core Functionality
Database Access Abstraction ORM allows developers to interact with the database at the object level instead of working with relational tables. This means you can manipulate data using objects and object-oriented programming (OOP) methods, without the need to write SQL queries manually.
Object-to-Database Record Transformation and Vice Versa My ORM system automatically translates between application objects and database table records. This includes:
Saving objects to the database.
Updating existing records.
Deleting records.
Loading data from the database and converting it to objects.
Automatic Schema Creation and Maintenance Some ORM systems, including mine, can automatically generate the database schema based on defined object models. This covers the creation of tables, indexes, table relationships, and other database structure elements.
Database Migrations My ORM system provides tools for modifying the database structure, such as creating, updating, and deleting tables, fields, and more, through a migration system.
Support for Multiple Databases ORM allows working with various relational databases without needing to change application code, providing flexibility and scalability.
Object Relationship Management My solution offers mechanisms for managing relationships (associations) between objects, such as "one-to-one," "one-to-many," and "many-to-many." This enables convenient handling of related data without the need to manually write complex SQL queries.
Integrity Constraints Support ORM automatically enforces data integrity constraints such as uniqueness, NOT NULL, and foreign keys, contributing to maintaining data consistency in the database.
Protection Against SQL Injection My ORM includes mechanisms for automatic SQL query handling, helping to protect the application from SQL injection. This is achieved through the use of parameterized queries and proper data escaping.
Data Caching My ORM system provides capabilities for caching objects, which can significantly improve application performance by reducing the number of database queries.
Transactional Support My ORM manages transactions, ensuring atomicity of operations and data consistency.
Documentation Goals
This documentation is created to help you:
Showcase my project in full.
Understand the core concepts and features of the system.
Get started with ORM quickly and easily.
Utilize all system capabilities for effective database handling.
Resolve potential issues and gain maximum benefit from using my ORM system.
Describe how this system was created, its architecture, and the principles behind its functionality.
Demonstrate my architectural skills.
Contribute to the IT community.
Documentation Structure
I hope this documentation will be useful to you and help you make the most effective use of the ORM. If you have any questions or issues, feel free to contact our support or developers.
Last updated