2016-03-08 110 views
0

在它說的文件,創建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

+0

您的DSN告訴cakePHP使用MySQL數據庫。如果你有一個在你的本地主機上運行,​​那麼它連接到它。 – greg

+0

dsn來自cakephp文檔,而不是來自我的代碼。我已經嘗試了一百萬個不同的dsn,他們都會給我描述的錯誤 –

回答

0

如果這可能會幫助其他人,我只是通過執行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)); 
}