如何在不定义 Sequelize 模型的情况下使用 postgres 操作 table

How to manipulate a table with postgres without define a Sequelize Model

我直接在 postgres shell 中创建了 'user' table,我需要的只是操作 (CRUD) 数据,而不必创建这样的模型:

const User = sequelize.define('user', {
  firstName: {
    type: Sequelize.STRING,
  },
  lastName: {
    type: Sequelize.STRING,
  },
});

我在文档中搜索了很多,但到目前为止我所看到的,我必须创建一个模型。 有没有一种方法可以在不创建模型的情况下工作?

您可以使用 Raw queries 操作数据而无需创建模型。

例如:

我们在数据库中有 User table:

node-sequelize-examples=# select * from "User";
 UserId |          UserEmail           |                             UserAvatar                              
--------+------------------------------+---------------------------------------------------------------------
      1 | Korey31@hotmail.com          | https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg
      2 | Tevin_Wintheiser81@yahoo.com | https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg
      3 | Cody47@yahoo.com             | https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg
(3 rows)

使用原始查询获取所有用户:

import { sequelize } from '../../db';
import { QueryTypes } from 'sequelize';

sequelize.query('select * from "User"', { type: QueryTypes.SELECT }).then(console.log);

日志:

Executing (default): select * from "User"
[ { UserId: 1,
    UserEmail: 'Korey31@hotmail.com',
    UserAvatar:
     'https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg' },
  { UserId: 2,
    UserEmail: 'Tevin_Wintheiser81@yahoo.com',
    UserAvatar:
     'https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg' },
  { UserId: 3,
    UserEmail: 'Cody47@yahoo.com',
    UserAvatar:
     'https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg' } ]