1.0.3 • Published 6 years ago

sequelauto v1.0.3

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

Sequelauto

Build Status npm version Coverage Status

Automatically generate records on database for Sequelize's model.

Usage

Let's say you have the following model:

const Sequelize = require('sequelize');

const sequelize = new Sequelize('sqlite://');

module.exports = User = sequelize.define('user', {
  name: {
    type: Sequelize.STRING(100),
    allowNull: false
  },
  birth: Sequelize.DATE,
  height: {
    type: Sequelize.DECIMAL,
    allowNull: false
  }
});

It would be a pain in the ass to create dummy entries on the database manually. That's when sequelauto comes in handy:

const User = require('./models');
const sequelauto = require('sequelauto');

sequelauto.create(User).then(user => {
  // "user" is a sequelize model instance!
  console.log(user.dataValues); // {id: 1, name: "bjda2sghat", "birth": null, "height": 1.3}
});

You can also create many instances at once:

sequelauto.createMany(User, 10).then(users => {
  // "users" is an array of all created users
  console.log(users.map(u => u.dataValues)); // [{id: 1, name: "bjda2sghat", "birth": null, "height": 1.3}, ...]
});

There is also a possibility to define your own values:

sequelauto.create(User, { name: 'John Doe', height: 5.8 }).then(user => {
  console.log(user.dataValues); // [{id: 1, name: "John Doe", "height": 5.8, "birth": null}, ...]
});

By default nullable fields remain null.

Supported field types

  1. STRING
  2. CHAR
  3. TEXT
  4. TINYINT
  5. SMALLINT
  6. MEDIUMINT
  7. INTEGER
  8. BIGINT
  9. FLOAT
  10. DOUBLE
  11. DECIMAL
  12. REAL
  13. BOOLEAN
  14. ENUM
  15. DATE
  16. DATEONLY
  17. TIME
  18. UUID
  19. JSON
  20. JSONB
  21. BLOB

In order to avoid mistakes, by default it runs only on SQLite.
Here is how to disable this feature:

const sequelauto = require('sequelauto');

sequelauto.configure('RUN_ONLY_ON_SQLITE', false);