0.1.16 • Published 4 months ago

@wanyne/orm v0.1.16

Weekly downloads
-
License
-
Repository
github
Last release
4 months ago

Wanyne-ORM

Database connection

import {
  Database,
  DatabaseClient,
  FieldType,
  FieldFlag,
} from '../src/index.mjs';

const database = new Database(
  new DatabaseClient.MySQL({
    host: 'localhost',
    port: 3306,
    user: 'username',
    password: 'password',
    database: 'database',
  })
);

Create table

const test = await database.setTable('test', {
  str: [FieldType.STRING(64), FieldFlag.NOTNULL(), FieldFlag.UNIQUE()],
  num: [FieldType.NUMBER(true), FieldFlag.NOTNULL()],
  json: [FieldType.JSON(), FieldFlag.NOTNULL()],
  date: [FieldType.DATETIME(), FieldFlag.NOTNULL()],
});

const doom = await database.setTable('doom', {
  str: [
    FieldType.STRING(64),
    FieldFlag.FOREIGN(test.field('str'), 'CASCADE', 'CASCADE'),
  ],
  sans: [FieldType.STRING(128), FieldFlag.NOTNULL()],
});

CRUD

await doom.create({
  record: {
    name: 'test1',
    email: 'sus',
  },
});

const res = await test.read({
  record: ['name', 'num', 'json', 'date'],
  filter: `name : "%str% & a > 10 | b = "a"`,
  page: 2,
  size: 10,
  sort: {
    date: 'ASC',
  },
});

await test.update({
  record: {
    name: 'sans',
  },
  filter: {
    name: 'test1',
  },
});

await test.delete({
  filter: {
    name: 'test1',
  },
});
0.1.10

5 months ago

0.1.11

5 months ago

0.1.12

5 months ago

0.1.13

4 months ago

0.1.14

4 months ago

0.1.15

4 months ago

0.1.16

4 months ago

0.1.8

5 months ago

0.1.7

5 months ago

0.1.9

5 months ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago