Postgresql sequelize播种机的自定义查询

Postgresql sequelize播种机的自定义查询,postgresql,sequelize.js,postgresql-9.4,sequelize-cli,Postgresql,Sequelize.js,Postgresql 9.4,Sequelize Cli,任何人都知道如何在sequelize seeder上自定义选择查询 我试过两种方法,但没有一种有效 第一次尝试 up: function(queryInterface, Sequelize) { return queryInterface.sequelize.query( 'SELECT * FROM "Users" WHERE username = "admin"', { type: queryInterface.sequelize.QueryTypes.S

任何人都知道如何在sequelize seeder上自定义选择查询

我试过两种方法,但没有一种有效

第一次尝试

  up: function(queryInterface, Sequelize) {
    return queryInterface.sequelize.query(
      'SELECT * FROM "Users" WHERE username = "admin"',
      { type: queryInterface.sequelize.QueryTypes.SELECT }
    ).then(function(users) {});
    },
return queryInterface.sequelize.query('SELECT * FROM "Users" WHERE username = :admin', {
  replacement: {
    admin: 'admin'
  },
  type: queryInterface.sequelize.QueryTypes.SELECT
}).then(function(users) {
});
    return queryInterface.sequelize.query(
      'SELECT * FROM Users WHERE username = "admin"',
      { type: queryInterface.sequelize.QueryTypes.SELECT }
    ).then(function(users) {});
然后就出错了

SequelizeDatabaseError: column "admin" does not exist
我不明白为什么管理员栏在这里

第二次尝试

  up: function(queryInterface, Sequelize) {
    return queryInterface.sequelize.query(
      'SELECT * FROM "Users" WHERE username = "admin"',
      { type: queryInterface.sequelize.QueryTypes.SELECT }
    ).then(function(users) {});
    },
return queryInterface.sequelize.query('SELECT * FROM "Users" WHERE username = :admin', {
  replacement: {
    admin: 'admin'
  },
  type: queryInterface.sequelize.QueryTypes.SELECT
}).then(function(users) {
});
    return queryInterface.sequelize.query(
      'SELECT * FROM Users WHERE username = "admin"',
      { type: queryInterface.sequelize.QueryTypes.SELECT }
    ).then(function(users) {});
出现以下错误

SequelizeDatabaseError:语法错误位于或接近“:”

第三次尝试

return queryInterface.sequelize.query(
  'SELECT * FROM "Users" WHERE username = ' admin '',
  {type: queryInterface.sequelize.QueryTypes.SELECT})
.then(function(users) { })
错误:

SyntaxError: missing ) after argument list
已更新

第四次尝试

  up: function(queryInterface, Sequelize) {
    return queryInterface.sequelize.query(
      'SELECT * FROM "Users" WHERE username = "admin"',
      { type: queryInterface.sequelize.QueryTypes.SELECT }
    ).then(function(users) {});
    },
return queryInterface.sequelize.query('SELECT * FROM "Users" WHERE username = :admin', {
  replacement: {
    admin: 'admin'
  },
  type: queryInterface.sequelize.QueryTypes.SELECT
}).then(function(users) {
});
    return queryInterface.sequelize.query(
      'SELECT * FROM Users WHERE username = "admin"',
      { type: queryInterface.sequelize.QueryTypes.SELECT }
    ).then(function(users) {});
出现另一个错误:

    SequelizeDatabaseError: relation "Users" does not exist
queryInterface.sequelize.query('SELECT*FROM“Users')
工作正常,没有任何错误。我认为这里的问题是在哪里查询

我快发疯了:)


提前感谢您的帮助

仔细阅读Sequelize文档后,我找到了解决此问题的方法。如果您面临相同的问题,请尝试以下解决方案

return queryInterface.sequelize.query(
  'SELECT * FROM "Users" WHERE username = ? ', {
    replacements: ['admin'],
    type: queryInterface.sequelize.QueryTypes.SELECT
  }).then(users => {

在第一次尝试中,您应该删除usersIt周围的引号,因为它不起作用。请参阅我更新的Shivam:)不要在查询中使用双引号,除非要创建/使用标识符。您的查询应该写为:
“从用户名为'admin'的用户中选择*”
@JorgeCampos Sorry。但与第三次尝试相同的错误。@ToanTran关于第四次尝试。您是否尝试过将
用户
放在SQL语句的引号中?