关于javascript:带有Sequelize的Node.js上的SQL Server 2008

SQL Server 2008 on Node.js with Sequelize

我是新来的!

我正在尝试使用续集在MS SQL Server2008上进行查询,但出现此错误:

Unhandled rejection SequelizeDatabaseError: Invalid column name 'id'.
at Query.formatError (C:\\xampp\\htdocs\\Lavori\\Bit_Sense\\API_BS\
ode_modules\\s
equelize\\lib\\dialects\\mssql\\query.js:217:10)
at Request.userCallback (C:\\xampp\\htdocs\\Lavori\\Bit_Sense\\API_BS\
ode_module
s\\sequelize\\lib\\dialects\\mssql\\query.js:66:25)
at Request.callback (C:\\xampp\\htdocs\\Lavori\\Bit_Sense\\API_BS\
ode_modules\\te
dious\\lib\
equest.js:30:27)
at Connection.STATE.SENT_CLIENT_REQUEST.events.message (C:\\xampp\\htdocs\\Lavo
ri\\Bit_Sense\\API_BS\
ode_modules\\tedious\\lib\\connection.js:283:29)
at Connection.dispatchEvent (C:\\xampp\\htdocs\\Lavori\\Bit_Sense\\API_BS\
ode_mo
dules\\tedious\\lib\\connection.js:752:59)
at MessageIO. (C:\\xampp\\htdocs\\Lavori\\Bit_Sense\\API_BS\
ode_modul
es\\tedious\\lib\\connection.js:685:22)
at MessageIO.emit (events.js:104:17)
at MessageIO.eventData (C:\\xampp\\htdocs\\Lavori\\Bit_Sense\\API_BS\
ode_modules
\\tedious\\lib\\message-io.js:58:21)
at Socket. (C:\\xampp\\htdocs\\Lavori\\Bit_Sense\\API_BS\
ode_modules\\
tedious\\lib\\message-io.js:3:59)
at Socket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)
at Socket.Readable.push (_stream_readable.js:126:10)
at TCP.onread (net.js:538:20)

我已经安装了此模块:
-续集;
-乏味;

仅通过以下查询,我对连接没有问题:

1
2
3
4
5
6
7
db.KEY_ARTI.findAll({
  where:{
\t      CACODICE: cacodice
\t    }
\t}).then(function(data) {
\t\tres.send(data);
\t});

我该怎么办?我没有任何名为id

的列

这是我的桌子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var Sequelize = require('sequelize');
var settings = global.settings.databases.DATABASE;
var errors = global.errors;
var utilities = global.utilities;

var sequelize = new Sequelize(settings.schema, settings.username, settings.password, {
      dialect: settings.dialect,
      host: settings.host,
\t  port: settings.port, /* BISOGNA USARE LA DYNAMIC PORT */
      logging: function (str) {
          if(settings.log)
            console.log("querylog:"+str.replace("Executing (default):","") );
      },
    });

sequelize.authenticate().then(function(err) {
    if (!!err) {
      console.log('Database '+settings.schema+' Connection Error:', err)
    }
    else {
      console.log('Database '+settings.schema+' Connected')
    }
});

exports.sequelize = sequelize;

/*
 * KEY_ARTI
 */

exports.KEY_ARTI = sequelize.define('KEY_ARTI', {
\tCACODICE: Sequelize.CHAR(20),
\tCADESART: Sequelize.CHAR(40),
}


默认情况下,如果您自己不做任何事情,sequelize将添加一个名为id的主键。

1
2
3
4
5
6
7
8
sequelize.define('model', {}); // Adds an id key

sequelize.define('model', {
  name: {
    primaryKey: true
    type: Sequelize.STRING
  }
}); // Doesn't add an id, because you already marked another column as primary key

也可以有一个没有主键的模型,但我不建议这样做