surrealdb
Prisma
Our great sponsors
surrealdb | Prisma | |
---|---|---|
93 | 444 | |
25,191 | 37,241 | |
2.3% | 2.3% | |
9.8 | 9.9 | |
5 days ago | 3 days ago | |
Rust | TypeScript | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
surrealdb
-
Show HN: I made a tool to easily compare pricing of developer tools and services
you should add https://surrealdb.com -- basically an open source firebase. and they will launch a paid cloud offering soon.
-
Task tracker application using NextJS and SurrealDB
In this article, I have shared how I have built a simple task-tracking full-stack application using NextJS and SurrealDB.
-
The one thing I do not like about the Nix package manager (and a fix for it)
In this article, I'll show you how you can create a binary package for your desired program. I wanted to download the SurrealDB package, but the package on nix was a source package, meaning that I had to spend over 50 minutes waiting for a stupid package to compile.
-
2024 Web Development Wish List
Get Cloud Version going!
-
Live Queries in Rust
SurrealDB comes with a LIVE SELECT statement that allows you to listen for creations, updates and deletions to specific records you are interested in or entire tables. While you could already take advantage of this powerful feature with our JavaScript SDK or WebSockets, the Rust SDK added an API for it in v1.1.0. The Rust API for live queries builds on top of the already existing select method by simply adding a live method which converts the select query into a live select one. It works seamlessly with our current API, so you can use it with single records, a range of records, or entire tables. Unlike the normal select method which returns either a single result or a vector of results, it returns a stream of notifications. This works for the WebSocket engine and the local ones (the key value stores you can embed in your app). The only engine not yet supported is the HTTP one. In this article, we show some examples of running live queries via the Rust SDK. We will skip imports for brevity but your IDE and/or the Rust compiler should give you the correct suggestions. Please refer to this example in our repo for a full, working example.
-
SurrealDB 1.0
1.0 version but https://github.com/surrealdb/surrealdb/issues/1548 is still open :)
- SurrealDB Dependents
-
How to Design a SurrealDB schema and create a basic client for TypeScript
In the midst of a dynamic landscape of exciting new projects, one name shines bright — SurrealDB.
- SurrealDB 1.0 Live
- SurrealDB the Scalable Rust SQL/NoSQL/Graph DB Released v1.0.0 Today
Prisma
-
A Software Engineer's Tips and Tricks #1: Drizzle
In the world of software development, there are two kinds of developers: those who have never had to complain about ORMs and those who have actually used them. Whether it’s Django ORM for Python, Active Record for Ruby, GORM for Golang, Doctrine for PHP, or Prisma for TypeScript, a common issue persists: writing simple queries is straightforward, but constructing complex or optimized queries can take hours, if not days.
-
Stories Behind ZenStack V2!
Support for a Union type #2505
-
Deploy Full-Stack Next.js T3App with Cognito and Prisma using AWS Lambda
generator client { provider = "prisma-client-js" binaryTargets = ["native", "rhel-openssl-1.0.x"] } datasource db { provider = "postgresql" // NOTE: When using mysql or sqlserver, uncomment the @db.Text annotations in model Account below // Further reading: // https://next-auth.js.org/adapters/prisma#create-the-prisma-schema // https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#string url = env("DATABASE_URL") } model Post { id Int @id @default(autoincrement()) name String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt createdBy User @relation(fields: [createdById], references: [id]) createdById String @@index([name]) } // ... rest of the schema
-
End-To-End Polymorphism: From Database to UI, Achieving SOLID Design
Unfortunately Prisma hasn’t supported polymorphism yet. As such, you can't use inheritance to model the entity in the same way as in your programming language, as depicted in the above class diagram. The good news is that we could intimate it using table inheritance to imitate it.
-
Next.js App Router Course
In this project I am manually declaring the data types. For better type-safety, use Prisma, which automatically generates types based on your database schema.
-
Next.js 14: Fetching Data
When you're creating a full-stack application, you'll also need to write logic to interact with your database. For relational databases like Postgres, you can do this with SQL, or an ORM like Prisma.
- Utilizando Testcontainers para Testes de Integração com NestJS e Prisma ORM
-
Building an Admin Console With Minimum Code Using React-Admin, Prisma, and Zenstack
Prisma is a modern TypeScript-first ORM that allows you to manage database schemas easily, make queries and mutations with great flexibility, and ensure excellent type safety.
-
How to add Passkey Login to Next.js using NextAuth and Hanko
Prisma
-
Taming cross-service database transactions in NestJS with AsyncLocalStorage
There have been multiple feature requests to add native support for AsyncLocalStorage to Prisma, but they haven't been met with much enthusiasm from the maintainers. Some people solved it by extending and overriding the client (which is arguably prone to breaking with updates).
What are some alternatives?
pocketbase - Open Source realtime backend in 1 file
Knex - A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
tikv - Distributed transactional key-value database, originally created to complement TiDB
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.
neon - Rust bindings for writing safe and fast native Node.js modules.
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.
tantivy - Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust
Mongoose - MongoDB object modeling designed to work in an asynchronous environment.
drizzle-orm - Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too 😅
MikroORM - TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL.
lucid - AdonisJS SQL ORM. Supports PostgreSQL, MySQL, MSSQL, Redshift, SQLite and many more