0.0.186 • Published 9 months ago

@joktec/mysql v0.0.186

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Table of Contents

  1. Introduction
  2. Installation
  3. Getting Started
  4. Reference
  5. Contributing

Introduction

This library provides an easy-to-use interface for working with MySQL databases in NestJS applications. It is built on top of the popular sequelize and sequelize-typescript libraries, and provides a set of convenient abstractions for working with these libraries.

Installation

To install this library, use either npm or yarn:

npm install @joktec/mysql
# or
yarn add @joktec/mysql

Getting Started

Configuration

To use this library, you must first provide the necessary configuration. This can be done by creating a config.yml file in your application's root directory, with the following content:

mysql:
  host: localhost
  port: 3306
  user: my_user
  password: my_pass
  database: my_database

Replace the values with your actual database connection information.

Module

Once you have provided the configuration, you can create a MysqlModule in your NestJS application:

import { CoreModule, Module } from '@joktec/core';
import { MysqlModule } from '@joktec/mysql';

@Module({
  imports: [CoreModule, MysqlModule],
})
export class AppModule {}

Service

You can then use the MysqlService to interact with the database:

import { Injectable } from '@joktec/core';
import { MysqlService } from '@joktec/mysql';

@Injectable()
export class UserService {
  constructor(private readonly mysqlService: MysqlService) {}

  async getUsers() {
    const users = await this.mysqlService.getModel(User).findAll();
    return users;
  }
}

Repository

Define a Model

You can define a model using @joktec/mysql (based on interface of sequelize-typescript):

import { Table, Column, Model } from '@joktec/mysql';

@Table
export class User extends Model<User> {
  @Column
  name: string;

  @Column
  email: string;
}

Define a Repository

You can create a repository for your model by extending the MysqlRepository class and providing the model type as a generic argument:

import { Injectable } from '@nestjs/common';
import { MysqlRepository } from '@joktec/mysql';
import { User } from './user.model';

@Injectable()
export class UserRepository extends MysqlRepository<User> {}

Using Repository in Service

You can then use the repository in your service:

import { Injectable } from '@nestjs/common';
import { UserRepository } from './user.repository';

@Injectable()
export class UserService {
  constructor(private readonly userRepository: UserRepository) {}

  async getUsers() {
    const users = await this.userRepository.findAll();
    return users;
  }
}

Reference

sequelize

sequelize-typescript

Contributing

Contributions to @joktec/mysql are welcome. If you would like to contribute, please fork the repository, make your changes, and submit a pull request.

Please make sure to update tests as appropriate.

0.0.186

9 months ago

0.0.185

9 months ago

0.0.184

9 months ago

0.0.175

10 months ago

0.0.174

10 months ago

0.0.173

10 months ago

0.0.172

10 months ago

0.0.179

10 months ago

0.0.178

10 months ago

0.0.177

10 months ago

0.0.176

10 months ago

0.0.171

10 months ago

0.0.170

10 months ago

0.0.183

9 months ago

0.0.182

10 months ago

0.0.181

10 months ago

0.0.180

10 months ago

0.0.159

11 months ago

0.0.158

11 months ago

0.0.156

11 months ago

0.0.155

11 months ago

0.0.164

10 months ago

0.0.163

10 months ago

0.0.162

10 months ago

0.0.161

10 months ago

0.0.168

10 months ago

0.0.167

10 months ago

0.0.166

10 months ago

0.0.165

10 months ago

0.0.160

11 months ago

0.0.153

11 months ago

0.0.152

11 months ago

0.0.151

11 months ago

0.0.150

11 months ago

0.0.154

11 months ago

0.0.116

1 year ago

0.0.118

1 year ago

0.0.128

12 months ago

0.0.127

12 months ago

0.0.126

12 months ago

0.0.125

12 months ago

0.0.129

12 months ago

0.0.120

12 months ago

0.0.124

12 months ago

0.0.123

12 months ago

0.0.121

12 months ago

0.0.139

12 months ago

0.0.138

12 months ago

0.0.137

12 months ago

0.0.136

12 months ago

0.0.131

12 months ago

0.0.130

12 months ago

0.0.135

12 months ago

0.0.134

12 months ago

0.0.133

12 months ago

0.0.132

12 months ago

0.0.149

11 months ago

0.0.148

11 months ago

0.0.147

11 months ago

0.0.142

12 months ago

0.0.141

12 months ago

0.0.140

12 months ago

0.0.146

11 months ago

0.0.145

12 months ago

0.0.144

12 months ago

0.0.143

12 months ago

0.0.115

1 year ago

0.0.114

1 year ago

0.0.113

1 year ago

0.0.112

1 year ago

0.0.111

1 year ago

0.0.108

1 year ago

0.0.107

2 years ago

0.0.105

2 years ago

0.0.104

2 years ago

0.0.103

2 years ago

0.0.84

2 years ago

0.0.85

2 years ago

0.0.86

2 years ago

0.0.87

2 years ago

0.0.88

2 years ago

0.0.89

2 years ago

0.0.80

2 years ago

0.0.81

2 years ago

0.0.82

2 years ago

0.0.83

2 years ago

0.0.73

2 years ago

0.0.74

2 years ago

0.0.75

2 years ago

0.0.76

2 years ago

0.0.77

2 years ago

0.0.78

2 years ago

0.0.79

2 years ago

0.0.71

2 years ago

0.0.72

2 years ago

0.0.102

2 years ago

0.0.101

2 years ago

0.0.100

2 years ago

0.0.95

2 years ago

0.0.96

2 years ago

0.0.97

2 years ago

0.0.98

2 years ago

0.0.99

2 years ago

0.0.90

2 years ago

0.0.91

2 years ago

0.0.92

2 years ago

0.0.93

2 years ago

0.0.94

2 years ago

0.0.70

2 years ago

0.0.69

2 years ago

0.0.62

2 years ago

0.0.63

2 years ago

0.0.64

2 years ago

0.0.65

2 years ago

0.0.66

2 years ago

0.0.67

2 years ago

0.0.68

2 years ago

0.0.60

2 years ago

0.0.59

2 years ago

0.0.51

2 years ago

0.0.53

2 years ago

0.0.54

2 years ago

0.0.55

2 years ago

0.0.56

2 years ago

0.0.57

2 years ago

0.0.58

2 years ago

0.0.50

2 years ago

0.0.48

2 years ago

0.0.47

2 years ago

0.0.46

2 years ago

0.0.45

2 years ago

0.0.44

2 years ago

0.0.43

2 years ago

0.0.42

2 years ago

0.0.41

2 years ago

0.0.40

2 years ago

0.0.39

2 years ago

0.0.38

2 years ago

0.0.37

2 years ago

0.0.36

2 years ago

0.0.35

2 years ago

0.0.34

2 years ago

0.0.33

2 years ago

0.0.32

2 years ago

0.0.31

2 years ago

0.0.30

2 years ago

0.0.29

2 years ago

0.0.28

2 years ago

0.0.26

2 years ago

0.0.25

2 years ago

0.0.24

2 years ago

0.0.23

2 years ago

0.0.22

2 years ago

0.0.21

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago