使用播种机查询js orm迁移

时间:2015-08-04 14:27:11

标签: sequelize.js

有没有办法填充数据库 (迁移+种子) 使用sequelizejs ORM?

我的迁移

'use strict';

/**
 * Module dependencies.
 */
var Schema = require('../src/schemas/users');

module.exports = {

    up: function (queryInterface, Sequelize) {
        return queryInterface.createTable(
            Schema.name,
            Schema.definition(Sequelize)
        );
    },

    down: function (queryInterface, Sequelize) {
        return queryInterface.dropTable(Schema.name);
    }

};

看看Node Sequelize migrations/models is it possible to share the same code?

首次尝试

'use strict';

/**
 * Module dependencies.
 */
var Async = require('async');
var Models = require('../src/models');
var  User = Models.users;

/**
 * Users to insert.
 */
var users = [
    {

        firstname: 'abcdefghijklmnopqrstuvwxyz',
        lastname: 'abcdefghijklmnopqrstuvwxyz',
        email : 'abcdefghijklmnopqrstuvwxyz@abcdefghijklmnopqrstuvwxyz.abcdefghijklmnopqrstuvwxyz',
        username:'abcdefghijklmnopqrstuvwxyz',
        password:'abcdefghijklmnopqrstuvwxyz'
    }
];

var calls = [];

function createUserPromise(current, index, users) {
    calls.push(function(callback) {
        User
            .create(current)
                .then(function(user) {
                    callback(null, user);
                })
                .catch(function(err){
                    return callback(err);
                });
            });
}
users.forEach(createUserPromise);

Async.parallel(calls , function(err, results){
    if(err){
        console.log(err);
    }
    else{
        var info = results.map(function(result){
            return result.dataValues;
        });
        console.log(info);
    }
    process.exit();
});

1 个答案:

答案 0 :(得分:2)

按照sequelize-clidef select2(value, **options) first("#select2-#{options[:from]}-container").click find(".select2-results__option", text: value).click end 的{​​{1}}搭建模板:

seed:create

然后运行你的种子:

$ node_modules/.bin/sequelize seed:create --name my-seed-name