Sequelize-cli什么都不做

时间:2015-08-18 12:38:45

标签: sql-server node.js sequelize.js

我正在尝试使用sequelize和sequelize-cli通过使用迁移机制来创建数据库架构更改(MSSQL)。但是没有发生任何事情 - 看起来它在迁移文件夹中找不到任何迁移文件。

我在新文件夹中执行了以下操作来创建测试项目:

npm init
[ added relevant packages: sequelize, sequelize-cli, tedious ]
sequelize init
[ here I added the connection information, all to a blank database on Azure SQL ]
sequelize init:models
sequelize init:migrations
sequelize migration:create

我在创建的迁移文件中添加了以下内容:

'use strict';
module.exports = {
up: function (queryInterface, Sequelize) {
return queryInterface.createTable('users', { id: Sequelize.INTEGER });
},
down: function (queryInterface, Sequelize) {
return queryInterface.dropTable('users');
}
};

基本上只是根据最后一个sequelize命令创建的模板。

现在我希望在运行migrate命令时创建一个新表:

sequelize db:migrate

但我得到的只是:

Sequelize [Node: 0.12.2, CLI: 1.7.4, ORM: 3.5.1]
Loaded configuration file "config/config.json".
Using environment "development".
Using gulpfile /usr/local/lib/node_modules/sequelize-cli/lib/gulpfile.js
Finished 'db:migrate' after 161 ms

这意味着它没有找到任何迁移文件。数据库中没有出现任何表,也没有创建sequelizeMeta表。

出了什么问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试在根目录中创建.sequelizerc文件,将其指向正确的迁移文件夹:

var path = require('path');

module.exports = {
  'config': path.resolve('path/to/folder', 'config/config.json'),
  'migrations-path': path.resolve('path/to/folder', 'migrations'),
  'models-path': path.resolve('path/to/folder, 'models')
}

创建文件

后运行sequelize init