Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Sequelize可以用于连接到新数据库吗?_Node.js_Database_Sequelize.js_Database Connection - Fatal编程技术网

Node.js Sequelize可以用于连接到新数据库吗?

Node.js Sequelize可以用于连接到新数据库吗?,node.js,database,sequelize.js,database-connection,Node.js,Database,Sequelize.js,Database Connection,在设计一个简单的node.js项目时,我尝试使用Sequelize通过以下配置参数连接到mysql服务器: { dbname: users username: jimmy password: users params: host: localhost port: 3306 dialect: mysql } 虽然“用户”数据库还不存在。 我收到一个服务器错误: InternalServerError: {"name":"Seque

在设计一个简单的node.js项目时,我尝试使用Sequelize通过以下配置参数连接到mysql服务器:

{ dbname: users
  username: jimmy
  password: users
  params:
    host: localhost
    port: 3306
    dialect: mysql }
虽然“用户”数据库还不存在。
我收到一个服务器错误:

InternalServerError: {"name":"SequelizeConnectionError","parent":{"code":"ER_BAD_DB_ERROR","errno":1049,"sqlState":"42000","sqlMessage":"Unknown database 'users'"},"original":{"code":"ER_BAD_DB_ERROR","errno":1049,"sqlState":"42000","sqlMessage":"Unknown database 'users'"}}
但是Sequelize文档:表示Sequelize可以连接到新数据库。请问,如何使用Sequelize连接到 新的(不存在的)数据库?

您应该再仔细阅读一遍(因为措辞确实令人困惑!)

新数据库与现有数据库的对比

如果您从零开始一个项目,并且您的数据库还不存在,请继续 可以从一开始就使用,以便自动创建 数据库中的每个表

另外,如果要使用Sequelize连接到 已经充满了表格和数据,这同样有效!续集 这两个案子都有你的保险

它将只连接到一个现有的数据库,它可以帮助您创建表,如果它们还不存在,但数据库必须存在,以便sequelize与它连接

在这个问题之后,我写信更新了文档,以减少混乱。希望能有帮助

找到了一个答案,答案是:

//create the sequelize instance omitting the database-name arg  
const sequelize = new Sequelize("", "<db_user>", "<db_password>", {
  dialect: "<dialect>"
});

return sequelize.query("CREATE DATABASE `<database_name>`;").then(data 
=> {
  // code to run after successful creation.
});  
var SQUser;
var sequlz;
async function connectDB() {
  sequlz = 
    new Sequelize("", "jimmy", "users", {host: "localhost", port: 3306, dialect: "mysql"});
  await sequlz.query("CREATE DATABASE users;");
  await sequlz.query("Use users;");
  SQUser = sequlz.define('Table', 
    {
      // define table schema
    });
  return SQUser.sync();
};

//use sequelize to populate the table
async function create() {
  const SQUser = await connectDB();
  return SQUser.create(
 //values
  );
}