我正在使用node-postgres,在我的应用程序开始时,我想检查数据库是否存在.所以我的工作流程理念如下:
myDb存在但是,如您所见,这是一个非常简单的过程,驱动程序实现需要postgres://username:password@host/database连接数据库名称,这意味着您需要首先连接到数据库.
所以我现在正在做的是postgres在开始时连接到数据库,进行查询以创建数据库,如果它已经存在则阻止异常,然后关闭我的连接并连接到新创建的数据库,然后创建表.这是代码:
var conStringPri = 'postgres://' + username + ':' + password + '@' + host +
'/postgres';
var conStringPost = 'postgres://' + username + ':' + password + '@' + host +
'/' + dbName;
pg.connect(conStringPri, function(err, client, done) { // connect to postgres db
if (err)
console.log('Error while connecting: ' + err);
client.query('CREATE DATABASE ' + dbName, function(err) { // create user's db
if (err)
console.log('ignoring …Run Code Online (Sandbox Code Playgroud) 我试图尽可能自动化创建数据库和表的过程.是否可以通过sequelize创建数据库?我可以创建一个只连接到服务器的连接字符串,而不是直接连接到db吗?
我有续集连接。
然后,我创建我需要的每个表(如果它们尚不存在)。然而,在我这样做之前,如果模式不存在,我想创建它本身,这样我就可以在安装了 mysql 的任何地方运行这个脚本,而不必担心。有没有办法用续集来做到这一点?或者如果没有的话使用任何其他工具。