如何在运行 Node.js 应用程序之前确保 MySQL 数据库存在
Posted
技术标签:
【中文标题】如何在运行 Node.js 应用程序之前确保 MySQL 数据库存在【英文标题】:How to make sure a MySQL database exists before running Node.js app 【发布时间】:2015-10-12 02:37:50 【问题描述】:我有一个基于 Node.js/Express 的应用程序,它使用 Sequelize 与 mysql 服务器通信。在使用 npm start
启动应用程序之前确保特定数据库存在的最佳方法是什么?我想这将是某种运行 CREATE DATABASE IF NOT EXISTS foo;
的一次性数据库初始化脚本 - 我只是不确定将它放在哪里以及如何将它连接到生命周期事件。
【问题讨论】:
尝试连接数据库。如果数据库不存在,会报错。 【参考方案1】:取自the npm docs npm 支持 package.json 脚本的“scripts”属性,其中之一是prestart
,所以你可以有一个package.json
"scripts" :
"prestart" : "node scripts/mysqlCheck.js",
"start" : "node index.js"
然后在 mysqlCheck.js
中进行 MySQL 数据库检查。然后,当您运行 npm start
时,prestart
脚本将在 index.js
之前运行。
【讨论】:
以上是关于如何在运行 Node.js 应用程序之前确保 MySQL 数据库存在的主要内容,如果未能解决你的问题,请参考以下文章