创建PostgreSQL数据库使用CakePHP 3
问题描述:
在它说的文件,创建PostgreSQL数据库使用CakePHP 3
如果你想创建一个没有选择数据库您 可以忽略数据库名称的连接:
$ DSN =“MySQL的://根:密码@本地/';您现在可以使用连接对象执行创建/修改数据库的查询。对于 创建数据库的示例:
$ connection-> query(“CREATE DATABASE IF NOT EXISTS my_database”);
http://book.cakephp.org/3.0/en/orm/database-basics.html#creating-databases
然而,这当然是不适合的PostgreSQL工作。有没有人有你如何做同样的事情,但与PostgreSQL的例子?
我试过各种方法,但几乎所有的人都给我这个错误。
Error: SQLSTATE[08006] [7] FATAL: database "user='MyPGUsername'" does not exist
注意:这个错误出现,即使我创建数据库MyPGUsername
。
答
如果这可能会帮助其他人,我只是通过执行php而不是任何CakePHP方法来解决此问题。
$sql = 'CREATE DATABASE ' . $dbName . ' WITH TEMPLATE=' . $config['dbtemplate'] . ' ENCODING=UTF8';
$query = pg_query($connection, $sql);
pg_close($connection);
if($query){
return true;
} else {
throw new Exception(pg_last_error($connection));
}
您的DSN告诉cakePHP使用MySQL数据库。如果你有一个在你的本地主机上运行,那么它连接到它。 – greg
dsn来自cakephp文档,而不是来自我的代码。我已经尝试了一百万个不同的dsn,他们都会给我描述的错误 –