制作Sequelize展示表

时间:2017-04-04 20:28:19

标签: node.js sequelize.js

我正在node.js中创建一个项目,我的一个页面将显示数据库中所有表的列表。我想知道Sequelize是否有像“Show tables”这样的功能。

谢谢!

3 个答案:

答案 0 :(得分:5)

我认为Sequelize中没有API,但您可以随时回归原始SQL。 “显示表”是一种MySQL主义,所以你可以这样做:

var seq = new Sequelize('mysql://localhost/mysql');
seq.query('show tables').then(function(rows) {
    console.log(JSON.stringify(rows));
});

用您自己的解析和显示逻辑替换console.log

答案 1 :(得分:1)

使用MySQL并执行SHOW Tables类型的sequelize.QueryTypes.SHOWTABLES查询将返回一个表数组。

sequelize
  .query('SHOW Tables', {
    type: sequelize.QueryTypes.SHOWTABLES
  })
  .then(result => {
    console.log(result)
  })

// ['table1', 'table2']

答案 2 :(得分:0)

使用Sequelize showAllSchemas方法:

var sequelize = new Sequelize('mysql://localhost/mysql');

sequelize.getQueryInterface().showAllSchemas().then((tableObj) => {
    console.log('// Tables in database','==========================');
    console.log(tableObj);
})
.catch((err) => {
    console.log('showAllSchemas ERROR',err);
})

这将是"正确的" Sequelize方法,而不是.query(' show tables')