Skip to content

CodeDredd/pinia-orm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

be8604a Β· Mar 4, 2025
Feb 17, 2025
Feb 18, 2025
Feb 17, 2025
Mar 4, 2025
Jul 16, 2024
Feb 17, 2025
Jan 30, 2022
Sep 17, 2023
Sep 17, 2023
Mar 4, 2025
Jul 7, 2022
Aug 20, 2022
Mar 22, 2023
Sep 22, 2023
Jul 7, 2022
Feb 18, 2025
Mar 4, 2025
May 3, 2024
May 5, 2024
Jul 15, 2024
Jul 15, 2024
Feb 10, 2022

Repository files navigation

Pinia ORM banner

npm version npm downloads Github Actions CI Coverage License

Welcome to pinia-orm

Intuitive, type safe and flexible ORM for Pinia based on Vuex ORM Next

Migration from vuex-orm

You want to migrate from vuex to pinia and with it vuex-orm to pinia-orm but you don't know yet? Well maybe this table will help you to decide. This comparison is just about facts and current state.

Features pinia-orm@v1.4.0 @vuex-orm/core@0.36.4 @vuex-orm/core@1.0.0-draft.16
Bundle Size (Min + GZIP) 9.9 KB 16.7 KB 12.6 KB
Relations (hasMany, belongsTo, morphOne, hasManyBy, hasOne, morphTo) βœ… βœ… βœ…
Relations (morphMany, belongsToMany, hasManyThrough) βœ… βœ… ❌
Relations (morphToMany, morphedByMany) ❌ βœ… ❌
Mutators βœ… βœ… ❌
Casts βœ… ❌ ❌
Decorators βœ… ❌ βœ…
Single Table Inheritance βœ… βœ… ❌
Lifecycle Hooks βœ… βœ… ❌
Aggregates βœ… βœ… ❌
Query (orHas, doesntHave, orDoesntHave, whereHas, orWhereHas, groupBy) βœ… ❌ ❌
Collection Helpers βœ… (βœ…) can use pinia-orm helpers too (βœ…) can use pinia-orm helpers too
Hidden Fields βœ… ❌ ❌
Metadata field βœ… ❌ ❌
Caching of queries with gc βœ… (βœ…) with plugin ❌

If you decide to migrate then there are some breaking changes. A guide how to migrate will be written. Small overview:

  • Fields are by default null
  • Renamed some functions aligning more with laravel naming
  • Code is based on vuex-orm-next and not on vuex-orm !

Help me keep working on this project πŸ’š


πŸ’» Development

  • Clone this repository
  • Enable Corepack using corepack enable (use npm i -g corepack for Node.js < 16.10)
  • Install dependencies using pnpm install
  • Build normalizr package: pnpm build
  • Run interactive tests using cd packages/pinia-orm && pnpm test:ui

Credits

Related projects

License

Made with ❀️

Published under MIT License.