1.3.0 • Published 1 month ago

@storecraft/database-mysql v1.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

Storecraft MySQL driver

SQLite / Postgres / MySQL

Official MySQL driver for StoreCraft using mysql2 package.

npm i @storecraft/database-mysql

usage

import 'dotenv/config';
import http from "node:http";
import { App } from '@storecraft/core'
import { NodePlatform } from '@storecraft/core/platform/node';
import { NodeLocalStorage } from '@storecraft/core/storage/node'
import { MySQL } from '@storecraft/database-mysql';
import { migrateToLatest } from '@storecraft/database-sql-base/migrate.js'

const app = new App(
  {
    auth_admins_emails: ['admin@sc.com'],
  }
)
.withPlatform(new NodePlatform())
.withDatabase(
  new MySQL(
    {
      pool_options: {
        database: process.env.MYSQL_DATABASE,
        host: process.env.MYSQL_HOST,
        port: parseInt(process.env.MYSQL_PORT),
        user: process.env.MYSQL_USER,
        password: process.env.MYSQL_PASSWORD,
      }
    }
  )
)
.withStorage(new NodeLocalStorage('storage'))
.init();

await migrateToLatest(app.__show_me_everything.db, false);
await app.__show_me_everything.vector_store?.createVectorIndex();

http.createServer(app.handler).listen(
  8000,
  () => {
    app.print_banner('http://localhost:8000');
  }
); 

Storecraft will search the following env variables

MYSQL_USER=root
MYSQL_PASSWORD=password
MYSQL_DATABASE=main
MYSQL_PORT=3306
MYSQL_HOST=localhost

So, you can instantiate with empty config

.withDatabase(
  new MySQL()
)

Testing Locally

  1. First start a mysql server First, make sure you have docker installed, Then, run
npm run database-mysql:docker-compose-up
  1. create Environment

create .env file with

MYSQL_USER=root
MYSQL_PASSWORD=password
MYSQL_DATABASE=main
MYSQL_PORT=3306
MYSQL_HOST=localhost
  1. Run tests/runner.test.js
npm run database-mysql:test
Author: Tomer Shalev <tomer.shalev@gmail.com>
1.0.19

2 months ago

1.0.18

3 months ago

1.0.17

3 months ago

1.0.16

3 months ago

1.2.5

2 months ago

1.3.0

1 month ago

1.0.15

3 months ago

1.0.14

3 months ago

1.0.13

4 months ago

1.0.12

4 months ago

1.0.9

5 months ago

1.0.8

6 months ago

1.0.7

6 months ago

1.0.6

8 months ago

1.0.11

4 months ago

1.0.10

5 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

10 months ago