如果没有sequelize.sync(),则创建mssql数据库的方法?

编程入门 行业动态 更新时间:2024-10-07 04:24:02

<a href=https://www.elefans.com/category/jswz/34/1755569.html style=如果没有sequelize.sync(),则创建mssql数据库的方法?"/>

如果没有sequelize.sync(),则创建mssql数据库的方法?

如果没有一个数据库,我正在尝试使用sequelize创建数据库;我使用以下代码创建了初始迁移。

const env = process.env.NODE_ENV || 'development';
const {database, username, password, dialect} = require(__dirname + '/../config/config.json')[env];

module.exports = {
  up: (queryInterface, Sequelize) => {
    const sequelize = new Sequelize("", username, password, {
      dialect: dialect,
    });

    return sequelize.query(`CREATE DATABASE '${database}';`);
  },

  down: (queryInterface, Sequelize) => {
    queryInterface.dropDatabase(database);
  }
};

然后在index.js文件中调用它。

sequelize.sync({ force: true })
  .then(() => {
    console.log(`Database & tables created!`)
  });

当我尝试运行它时,出现以下错误“未处理的拒绝SequelizeAccessDeniedError:用户'sa'登录失败。”

但是,如果我使用SQLPro创建数据库,则连接不会出现问题。

回答如下:

我找不到通过续集来做到这一点的方法;但是,我可以使用mssql npm模块来解决它。这是我的解决方案:

//code in my index.js for sequelize
const config = require(__dirname + '/../config/config.json')[env];
const mssql = require('mssql');

//set up connection
const pool = new mssql.ConnectionPool({
  user: config.username,
  password: config.password,
  server: 'localhost',
});

//create database if one does not exist
pool.connect(error => {
  if(error) {
    console.log(error);
  } else {
    pool.query(`IF DB_ID('${config.database}') IS NULL CREATE DATABASE ${config.database}`);
  }
});

如果您可以使用续集做类似的事情,我仍然很感兴趣。如果有人找到了仅使用续集的方法,请告诉我。

谢谢!

更多推荐

如果没有sequelize.sync(),则创建mssql数据库的方法?

本文发布于:2024-05-07 21:29:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757337.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如果没有   数据库   方法   sync   sequelize

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!