我目前有一个使用云函数作为 rest API 的 react js 网站。这些函数使用私有 IP 连接到 SQL 实例。
对于 SQL orm,我使用 Sequelize,到目前为止还不错,但是,我进行了迁移,但无法让它在 SQL 实例上运行。有没有办法通过 npm 命令运行迁移?我尝试使用 Umzug,但它看起来不起作用,因为该功能不断超时。
答案 0 :(得分:0)
尝试了不同的选项后,我发现解决方案比我想象的要简单得多。执行 npm 命令并解决我的问题的方法:
const { exec } = require('child_process');
module.exports = async (req, res) => {
try {
await new Promise((resolve, reject) => {
const migrate = exec(
'npx sequelize-cli db:migrate',
err => (err ? reject(err) : resolve())
);
// Forward stdout+stderr to this process
migrate.stdout.pipe(process.stdout);
migrate.stderr.pipe(process.stderr);
});
} catch (e) {
res.code(500);
res.send(JSON.stringify(e));
}
};