有没有一种方法可以通过nodejs执行.schema sqlite3命令?

时间:2020-07-01 16:25:05

标签: node.js sqlite node-sqlite3

我正在尝试通过nodejs获取数据库架构。这是我的代码:

app.get('/api/:iso/schema', (req, res, next) => {
    let iso = isos.find((element) => {
        return element.name === req.params.iso;
    });
    console.log('GET api/' + req.params.iso + '/schema');
    let sql = ".schema";
    data = [];
    
    db = new sqlite3.Database(iso.path, sqlite3.OPEN_READONLY)
    db.each(sql, (err, row) => {
        data.push(row)
    }, (err) => {
        if(err) {
            console.log(err.message)
            res.json({ error: err.message })
        }
        else
            res.json(data)
            // console.log(data)
    })
    
    db.close

});

它可与其他更传统的查询(例如,从表中选择*;)一起使用,但不适用于.schema或.tables,这会向控制台抛出错误: SQLITE_ERROR:“。”附近:语法错误。在此问题上的任何帮助将不胜感激。

0 个答案:

没有答案