nic*_*ick 25
我不确定PostgreSQL,但我遇到了与MySQL相同的问题.我发现你可以在不选择数据库的情况下使用knex进行连接,使用原始SQL创建数据库,然后重新连接选择新数据库.
这是一个独立脚本,它使用单列表创建一个新数据库:
var conn = {
host : '127.0.0.1',
user : 'user',
password : 'pass',
charset : 'utf8'
};
// connect without database selected
var knex = require('knex')({ client: 'mysql', connection: conn});
knex.raw('CREATE DATABASE my_database')
.then(function(){
knex.destroy();
// connect with database selected
conn.database = 'my_database';
knex = require('knex')({ client: 'mysql', connection: conn});
knex.schema.createTable('my_table', function (table) {
table.string('my_field');
})
.then(function() {
knex.destroy();
});
});Run Code Online (Sandbox Code Playgroud)
这有效(对我来说已经足够了),但我很想知道其他解决方案.
var knex = require('knex')({
client: 'pg',
connection: {
host: HOST,
user: USERNAME,
password: PASSWORD,
database: 'postgres',
charset: 'utf8'
}
});
knex.raw('CREATE DATABASE DB_NAME;')
.then(function() {
return knex.raw('DROP DATABASE DB_NAME;')
})
.finally(function () {
console.log("Done");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11445 次 |
| 最近记录: |