1.0.9 • Published 1 year ago

database-funnel v1.0.9

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Database Funnel

Database Funnel is a lightweight Node.js library designed to simplify MySQL database operations within Node.js applications. With Database Funnel, you can effortlessly integrate MySQL databases into your Node.js projects, making tasks like CRUD operations, data retrieval, and schema management more intuitive and efficient.

Installation

You can install Database Funnel via npm:

npm install database-funnel

Getting Started

To begin using Database Funnel in your Node.js application, you need to initialize it with your MySQL database connection details. Here's how:

import database from "database-funnel";

database.init({
  host: process.env.MYSQL_HOST,
  port: process.env.MYSQL_PORT,
  user: process.env.MYSQL_USER,
  password: process.env.MYSQL_PASSWORD,
  database: process.env.MYSQL_DATABASE,
});

Creating Models

In Database Funnel, models represent database tables. Defining a model automatically creates the corresponding table in the database. Here's an example of how to create a model:

import { Model } from "database-funnel";

const User = new Model("users", {
  name: ["string"],      // VARCHAR(300)
  surname: ["string"],   // VARCHAR(300)
  email: ["string", "unique"], // Adds uniqueness constraint
  male: ["boolean", null],    // Nullable
  female: ["boolean", null],  // Nullable
  details: ["text"],          // TEXT
  age: ["number"],            // INT
  diff: ["double", "default:0.1"], // DOUBLE with default value 0.1
});

Basic Operations

Database Funnel provides methods for performing basic CRUD operations:

Retrieve Data

  • get: Retrieve all records from the table.
  • first: Retrieve the first record from the table.
await User.get();
await User.first();

Create Data

  • make: Create a new record in the table.
await User.make({
  name: "Johnny",
});

Filter Data

  • where: Filter records based on conditions.
const users = await User.where("name", "=", "John").get();
const user = await User.where("name", "=", "John").first();

Sort Data

  • orderBy: Sort records based on a specified column.
await User.where("name", "=", "John").orderBy("name", "asc").get();

Update Data

  • update: Update records that match specified conditions.
await User.where("name", "=", "John").update({ name: "Demi" });

Contribution

Contributions to Database Funnel are welcome! Feel free to open issues for feature requests, bug fixes, or general improvements.

License

Database Funnel is licensed under the MIT License. See the LICENSE file for details.

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.4

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago