我正在node.js中创建一个项目,我的一个页面将显示数据库中所有表的列表。我想知道Sequelize是否有像“Show tables”这样的功能。
谢谢!
答案 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')