0.1.3 • Published 7 years ago

dk-db v0.1.3

Weekly downloads
-
License
MIT
Repository
bitbucket
Last release
7 years ago

DK-db

DK database - library for working with database.

Examples

| Used code: TypeScript

db_new

Connect in server and make / update record

Ex_1

import {err_is, Err_s, err_throw} from "dk-err";
import {num_1u, num_new} from "dk-num";
import {str_make, str_new} from "dk-str";
import {Db_s, db_table, Db_table, db_table_rec, db_tables} from "./main";
import {db_new} from "./new";

export const main = () => {
    // make pointer DB connection (create the database manually)

    const db: Db_s = db_new({
        name: str_make("test"),
    }); // DB connected true - 80 ms (mysql://root:***@localhost/test)

    // make pointer Table

    const table: Db_table = db_table(db, {
        name    : str_make("table_example"),
        uniqueLs: [
            str_new(num_1u(1, 2), "unique", "unique_2"),
        ],
        fields  : [
            {
                name: str_make("unique"),
                type: str_make("integer"),
                size: num_1u(1, 4),
            }, {
                name: str_make("unique_2"),
                type: str_make("integer"),
                size: num_1u(1, 4),
            }, {
                name: str_make("data"),
                type: str_make("text"),
                size: num_new(2, 1, 20000), // varchar(20000)
            },
        ],
    });

    // create all tables

    const err: Err_s = db_tables(db);

    if (err !== undefined) {
        err_throw(err);
    }

    // record create

    const rec_1 = db_table_rec(table, [
        {
            name: str_make("data"),
            val : str_make("Record data"),
        }, {
            name: str_make("unique"),
            val : str_make("1"),
        }, {
            name: str_make("unique_2"),
            val : str_make("1"),
        },
    ]);

    // check error

    if (err_is(rec_1)) {
        err_throw(rec_1); // throw
    }

    // record update

    const rec_2 = db_table_rec(table, [
        {
            name: str_make("id"),
            val : str_make("1"),
        }, {
            name: str_make("data"),
            val : str_make("Record update2"),
        }, {
            name: str_make("unique"),
            val : str_make("2"),
        },
    ]);

    // check error

    if (err_is(rec_2)) {
        err_throw(rec_2);
    }

    // Print id records

    console.log(
        "rec_1.id = %s, rec_2.id = %s", rec_1.id, rec_2.id,
    ); // rec_1.id = 1, rec_2.id = 1
};

main();

Api

Types

Db

Db_o
FieldTypeDefaultDesc
typeStr_sDB_CONNECT_TYPEType server
hostStr_sDB_CONNECT_HOSTServer host
portNum_sDB_CONNECT_PORTServer port
nameStr_sDB_CONNECT_NAMEDatabase name
userStr_sDB_CONNECT_USERDatabase user
passwordStr_sDB_CONNECT_PASSWORDDatabase password
timeoutNum_sDB_CONNECT_TIMEOUTMax connection timeout
findRecordsNum_sDB_FIND_LIMITLimit list
findTimeoutTime_sDB_FIND_TIMEOUTMax get find timeout
recTimeoutTime_sDB_REC_TIMEOUTMax get record timeout
tableTimeoutTime_sDB_TABLE_TIMEOUTMax timeout creating table
Db_s
FieldTypeValue
typeStr_sDb_o.type
hostStr_sDb_o.host
portNum_sDb_o.port
nameStr_sDb_o.name
userStr_sDb_o.user
passwordStr_sDb_o.password
timeoutTime_sDb_o.timeout
findRecordsNum_sDb_o.findRecords
findTimeoutTime_sDb_o.findTimeout
recTimeoutTime_sDb_o.recTimeout
tableTimeoutTime_sDb_o.tableTimeout
ormanyDb_o.orm

Table

Db_table_opt
FieldTypeDesc
nameStr_sTable name
fieldsDb_fieldsFields list
uniqueLsDb_table_ls_uniqueUnique list (name field)
Db_table
FieldTypeDesc
dbDb_sPointer on DB
ormanyOrm table object
nameStr_sDb_table_opt.name
fieldsDb_fieldsDb_table_opt.fields
uniqueLsStr_sDb_table_opt.uniqueLs
Db_table_ls_unique => Array<Str_s>

List unique group (Str_s)

Db_tables => Array<Db_table>

List Db_table

Field

Db_field
FieldTypeDesc
nameStr_sName
typeStr_sType: integer, text
sizeNum_sSize 1-65555
valStr_sValue
Db_fields => Array<Db_field>

Constants

Default library

NameTypeValueDesc
DB_NAMEStr_stdDK-dbName library
DB_KEYStr_stddbKey library
DB_IDAny_id0Id library
DB_VERStr_std0.2.0-0.1Version library

Connection default

NameTypeValueDesc
DB_CONNECT_TYPEStr_stdmysqlServer type
DB_CONNECT_HOSTStr_stdlocalhostServer host
DB_CONNECT_PORTNum_std3306Server port
DB_CONNECT_USERStr_stdrootUser name
DB_CONNECT_NAMEStr_stddbDatabase name
DB_CONNECT_PASSWORDStr_std""User password
DB_CONNECT_TIMEOUTNum_std10Timeout connection

Record default

NameTypeValueDesc
DB_REC_TIMEOUTNum_std3Timeout get record

Find default

NameTypeValueDesc
DB_FIND_TIMEOUTNum_std5Timeout find
DB_FIND_LIMITNum_std100Limit list

Fields

NameTypeValueDesc
DB_FIELD_IDStr_stdidPrimary (AUTO_INCREMENT)
DB_FIELD_CREATEDStr_std_createdCreated record
DB_FIELD_UPDATEDStr_std_updatedUpdated record

Table

NameTypeValueDesc
DB_TABLE_FIELD_CREATEDbooleantrueMake field "_created"
DB_TABLE_FIELD_UPDATEDbooleantrueMake field "_updated"

Functions

db_new(opt: Db_o): Db_s

Create new structure Db_s and connection with server

db_table(db: Db_s, opt: Db_table_opt): Db_table

Create new table model by fields

db_tables(db: Db_s):void

Create tables if they do not exist

db_table_rec(table: Db_table, data: Db_fields)

Get / make record in table

db_table_find(table: Db_table, filter: any, offset: Num_s):Array

Search records in table

| filter - orm filter (where)

About

Notes

License

MIT

0.2.0-0.1

7 years ago

0.1.3

7 years ago

0.1.3-rc

7 years ago

0.1.2-rc.8

7 years ago

0.1.2-rc.7

7 years ago

0.1.2-rc.6

7 years ago

0.1.2-rc.5

7 years ago

0.1.2-rc.4

7 years ago

0.1.2-rc.3

7 years ago

0.1.2-rc.2

7 years ago

0.1.2

7 years ago

0.1.2-rc.1

7 years ago

0.1.2-rc

7 years ago

0.1.2-beta.2

7 years ago

0.1.2-beta.1

7 years ago

0.1.2-beta.0

7 years ago

0.1.2-alpha.2

7 years ago

0.1.2-alpha.1

7 years ago

0.1.2-alpha.0

7 years ago

0.1.2-dev.4

7 years ago

0.1.2-dev.3

7 years ago

0.1.2-dev.2

7 years ago

0.1.2-dev.1

7 years ago

0.1.2-dev.0

7 years ago

0.1.1

7 years ago

0.1.1-beta.3

7 years ago

0.1.1-beta.2

7 years ago

0.1.1-beta

7 years ago

0.1.1-alpha.1

7 years ago

0.1.1-alpha

7 years ago

0.1.1-dev.10

7 years ago

0.1.1-dev.9

7 years ago

0.1.1-dev.8

7 years ago

0.1.1-dev.7

7 years ago

0.1.1-dev.6

7 years ago

0.1.1-dev.5

7 years ago

0.1.1-dev.4

7 years ago

0.1.1-dev.3

7 years ago

0.1.1-dev.2

7 years ago

0.1.1-dev.1

7 years ago

0.1.0

7 years ago

0.1.0-rc

7 years ago

0.1.0-beta

7 years ago

0.1.0-alpha

7 years ago

0.1.0-dev.2

7 years ago

0.1.0-dev.1

7 years ago

0.1.0-dev.0

7 years ago