Objection.js
postgres
Objection.js | postgres | |
---|---|---|
23 | 42 | |
7,203 | 6,704 | |
0.1% | - | |
8.5 | 8.2 | |
2 days ago | 23 days ago | |
JavaScript | JavaScript | |
MIT License | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Objection.js
-
Top 6 ORMs for Modern Node.js App Development
Objection.js is a SQL-friendly ORM for Node.js that supports various relational databases, including PostgreSQL, MySQL, and SQLite. It provides a flexible and expressive query builder. Objection.js is known for its expressive syntax, allowing developers to build complex queries easily. It supports eager loading, transactions, and migrations.
-
Best ORM library?
I don't think there's a best per say, but we did recently use Objection on our project. Did the job well, only issue is there's no constructor for the DB Models but it's just something you work around (https://vincit.github.io/objection.js/)
- Is objection.js actually being sunset?
-
Simple postgres 'ORM' for node project?
If you aren't using TypeScript I'd very much recommend Objection.js, I've used it multiple times and no complaints so far. You can pass raw SQL queries to it as well so I'm sure it would be a good fit for your project!
- Which ORM are you using with Node?
-
Migrating from Sequelize to Knex + Objection
I'd also like to point out objection js is no longer actively maintained. I'm going to switch my work's codebase from it eventually because of it.
- Well, shit. Objection.js has been sunset, which ORM/querybuilder did you move to?
-
Is it best practice to use classes with extends?
You should look into Objection.js. IMHO using that will make your life much easier as it seems you are trying to reimplement it's features in this sample code.
- Objection.js ORM Needs a New Maintainer
-
Exploring the repository pattern with TypeScript and Node
Next, let’s set up the database for our newly created Nest application. I’ll be using PostgreSQL, but you can use any of the databases Knex supports. To interact with our database, we’ll be using Objection.js, which is an ORM for Node.js built on top Knex. For this tutorial, we’ll be using Nest Objection, a Nest module for Objection.
postgres
-
Neon Is Generally Available: Serverless Postgres
I want to use this as a chance to bring attention to a GitHub issue that I think would help reduce friction for Neon:
https://github.com/neondatabase/neon/issues/4989
If the Neon driver were to allow us to easily pass in a localhost connection, the development and test experience would be easier. Perhaps Neon could swap to something like this internally: https://github.com/porsager/postgres.
Having run a local dev environment connected to Neon and tests connected to Neon got in our way of adoption. We'd prefer to develop and run tests against a regular Postgres localhost database.
To the PMs of Neon, put yourself in the shoes of a new developer thinking of giving Neon a try. What changes will I have to make to my code and my development workflow?
-
Drizzle is just as unready for prime-time as Prisma, what else is there?
I'd push you to consider using postgres, slonik or similar for database queries. With these libraries, you just write SQL, but they perform input sanitization for you. So you can safely write:
- Ask HN: If you were to build a web app today what tech stack would you choose?
-
PostgresJs: The Fastest full featured PostgreSQL client for Node.js and Deno
Thanks Pier! Your comment saved me some frustration here :-D
https://github.com/porsager/postgres/discussions/627#discuss...
-
We migrated to SQL. Our biggest learning? Don't use Prisma ORM
There's a core client interface here:
- https://www.postgresql.org/docs/current/client-interfaces.ht...
On what makes it postgres.js faster, from author himself:
> it seems Postgres.js is actually faster than, not only pg, but of any driver out-there
- https://github.com/porsager/postgres/discussions/627
- https://porsager.github.io/imdbench/sql.html
-
Relational is more than SQL
When viewed as a DSL for set theory, views, CTEs, set-returning functions, et al are indeed proper first-class query abstractions.
When viewed through the lens of general purpose imperative or functional programming languages, it's easy to see how it can be seen as falling short.
I'll admit much of the tooling and driver APIs leave a lot to be desired.
Some tools do make good efforts though such as nested fragments in this driver.
https://github.com/porsager/postgres#building-queries
-
SQLite-based databases on the Postgres protocol? Yes we can
I don't think this should turn in to an ORM or not debate, but there are plenty of reasons, especially for the crowd that would do anything to avoid ORMs. Just try to take a peek into the multitude of "ORMs are bad" articles / discussions.
For instance - I would love to be able to use https://github.com/porsager/postgres with sqlite.
-
Is ORM still an anti-pattern?
Demonstrate how easily and accidentally one can make an SQL injection with these:
https://github.com/porsager/postgres
https://github.com/gajus/slonik
-
Storage on Vercel
They've looked at Postgres.js (https://github.com/porsager/postgres) before — wouldn't mind if they enabled those other cases in the same way.
What are some alternatives?
Sequelize - Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.
pg-promise - PostgreSQL interface for Node.js
TypeORM - ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
trpc - 🧙♀️ Move Fast and Break Nothing. End-to-end typesafe APIs made easy.
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
slonik - A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.
Bookshelf - A simple Node.js ORM for PostgreSQL, MySQL and SQLite3 built on top of Knex.js
prisma-redis-middleware - Prisma Middleware for caching queries in Redis
Mongoose - MongoDB object modeling designed to work in an asynchronous environment.
MySQL - A pure node.js JavaScript Client implementing the MySQL protocol.
node-mssql - Microsoft SQL Server client for Node.js
PostgreSQL - PostgreSQL client for node.js.