node-sql-template-strings
PostgreSQL
Our great sponsors
node-sql-template-strings | PostgreSQL | |
---|---|---|
6 | 56 | |
598 | 11,846 | |
- | - | |
0.0 | 7.5 | |
2 months ago | 2 days ago | |
JavaScript | JavaScript | |
ISC License | MIT License |
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.
node-sql-template-strings
-
Write SQL Queries With Confidence (TypeScript + Postgres)
Ah, I see it. I'm assuming node-sql-template-strings or an equivalent?
-
I thought I knew what I was doing
There is also some other interesting use cases.
- DenoDB
-
Slonik: A PostgreSQL client with strict types, detailed logging, and assertions
Any pitfalls that you encountered?
I'm trying to decide between this, or writing my own helpers around https://github.com/felixfbecker/node-sql-template-strings.
Also, have you found anything the solves typechecking of embedded expressions inside the SQL template?
For example, Webstorm will help you autocomplete your SQL, but you can still type:
SELECT * FROM foo WHERE barInt = ${bazStr}
Any reason you chose that over node-sql-template-strings [1], which looks very similar?
[1] https://github.com/felixfbecker/node-sql-template-strings
-
How do I prevent SQL injection in this function? I am using pg-promise
sql-template-strings is a really simple and elegant solution for parameterized queries.
PostgreSQL
-
NodeJS Security Best Practices
If you don't want to use ORM then there are some other packages as well! For PostgreSQL we have node-postgres
-
Building Secure Neon-Infused Web Apps with Auth0, Express, and EJS
Interface with PostgreSQL database
-
Drizzle is just as unready for prime-time as Prisma, what else is there?
(Instead of the following with pg.)
-
Nile, Serverless Postgres for Modern SaaS
So far every JS framework that uses https://node-postgres.com works great and so no reason to think Drizzle wouldn't.
-
We migrated to SQL. Our biggest learning? Don't use Prisma
One thing that keeps coming up is that SQL equals low productivity. I don't think this is true. I think the culprit is that most developers are using to heavily abstracting SQL using ORMs like Prisma that hides the database and SQL logic.
Since building a SQL generator (https://aihelperbot.com) as a side project, I have become much more proficient in SQL and even though I am also locked into Prisma, I use the `queryRaw` all the time to execute raw SQL queries. You can understand the code without knowing Prisma API. It is more performant. For more complex SQL queries, I use the SQL generator for initial suggestions and adapt if needed.
For the next projects I build I want to use the minimal Postgres client (https://github.com/brianc/node-postgres) combined with a lightweight migration library.
-
Using AI I have departed from ORM and embraced SQL
For newer projects I use the small Postgres client. Initially my leap into SQL was lead by AI but as I refreshed and relearned SQL, I now use a mixture of AI and self-written SQL queries. Something like this is just easier to have AI do the grunt work and then adjustment as needed.
-
Credentials Leak with Knex
This was a known issue for pg developers, and they managed to fix it a long time ago (at the pg level), but the knowledge of this problem didn't reach Knex maintainers.
-
Why SQL is right for Infrastructure Management
Integrate the database into your application itself with a postgres client library allowing your applications to make infrastructure changes (like provisioning sharded resources for a client that wants isolation, or using a more accurate forecasting model to pre-allocate more resources before the storm hits).
-
What is your development stack for 2023?
node-postgres (raw sql, without ORM)
- Help with my small Edtech startup.
What are some alternatives?
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
MySQL - A pure node.js JavaScript Client implementing the MySQL protocol.
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.
MongoDB - The Official MongoDB Node.js Driver
Aerospike - Node.js client for the Aerospike database
Redis - 🚀 A robust, performance-focused, and full-featured Redis client for Node.js.
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
slonik - A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.
LevelUP - A wrapper for abstract-leveldown compliant stores, for Node.js and browsers.
Couchbase - Couchbase Node.js Client Library (Official)
couchdb-nano - Nano: The official Apache CouchDB library for Node.js
postgres - Postgres.js - The Fastest full featured PostgreSQL client for Node.js, Deno, Bun and CloudFlare