surreal-bridge
v0.0.1
Published
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
Downloads
2
Readme
Features
- Simple API: Intuitive and easy-to-use API for performing common database operations.
- Schema Management: Automatically map your classes to SurrealDB schemas.
- Query Builder: Powerful query-building capabilities for complex queries.
- Flexible Relationships: Support for one-to-one, one-to-many, and many-to-many relationships.
- Migrations: Tools to manage and apply database schema changes.
Installation
You can install Surreal-Bridge via npm:
npm install surreal-bridge
Getting Started
Initialize the ORM
First, you need to configure and initialize the ORM with your SurrealDB instance:
import { SurrealBridge } from 'surreal-bridge';
const bridge = new SurrealBridge({
host: 'localhost',
port: 8000,
database: 'mydb',
namespace: 'myapp',
user: 'admin',
password: 'password',
});
await bridge.connect();
Define a Model
Define a model by extending the Model
class provided by Surreal-Bridge:
import { Model, string, number } from 'surreal-bridge';
const user = table("users", {
name: string(),
email: string().assert().raw("string::is::email($value)")
}).build();
const user = await user.create({ name: 'John Doe', email: '[email protected]' });
Perform Queries
You can perform CRUD operations and build queries easily:
// Fetch a user by ID
const user = await user.findFirst({
name: "John Doe"
});
// Update a user
await user.update({
name: "Jane Doe"
});
// Delete a user
await user.delete();
Documentation
For more detailed documentation and advanced usage, please visit our documentation page.
Contributing
We welcome contributions! If you would like to contribute to Surreal-Bridge, please read our contributing guidelines.
License
Surreal-Bridge is licensed under the MIT License. See the LICENSE file for more information.