【发布时间】:2019-10-04 08:44:19
【问题描述】:
使用 Sequelize(Node.js 的 ORM),我正在尝试向数据类型为“DECIMAL”的表添加一列。我已经能够使用 DATE 和 STRING 的其他数据类型将其他列添加到其他相同的表中,但是这个 changeColumn 函数将不会执行。相反,当我尝试命令 sequelize db:migrate 时,我得到了 '错误:'category' 中的未知列 'default_price'。我对开发还很陌生,所以我对 Sequelize 还没有太多经验。
I run this command:
L05HandsOn>sequelize db:migrate
Sequelize CLI [Node: 8.11.4, CLI: 5.4.0, ORM: 4.43.0]
Loaded configuration file "config\config.json".
Using environment "development".
sequelize deprecated String based operators are now deprecated. Please use Symbol based operators for better security, read more at http://docs.sequelizejs.com/manual/tutorial/querying.html#operators node_modules\sequelize\lib\sequelize.js:242:13
File: _current.json does not match pattern: /\.js$/
File: _current_bak.json does not match pattern: /\.js$/
File: _current.json does not match pattern: /\.js$/
File: _current_bak.json does not match pattern: /\.js$/
File: _current.json does not match pattern: /\.js$/
File: _current_bak.json does not match pattern: /\.js$/
== 2-category_Decimal_migration: migrating =======
[#0] execute: changeColumn
ERROR: Unknown column 'default_price' in 'category
My migration.js file looks like this:
'use strict';
var Sequelize = require('sequelize');
/**
* Actions summary:
*
* changeColumn "default_price" on table "category"
*
**/
var info = {
"revision": 2,
"name": "category_Decimal_migration",
"created": "2019-05-17T01:56:58.412Z",
"comment": ""
};
var migrationCommands = [{
fn: "changeColumn",
params: [
"category",
"default_price",
{
"type": Sequelize.DECIMAL(2, 2),
"field": "default_price",
"allowNull": false
}
]
}];
module.exports = {
and so on ...
When I run the 'sequelize db:migrate' command I expect to see
```[#0] execute: changeColumn
2-category_Decimal_migration: migrated (0.XXXs)```
【问题讨论】:
标签: javascript mysql sequelize.js