从mysql将现有cakephp 3.0数据库迁移到postgres

从mysql将现有cakephp 3.0数据库迁移到postgres,php,mysql,database,postgresql,cakephp,Php,Mysql,Database,Postgresql,Cakephp,我正在将cakephp 3.0数据库从mysql迁移到postgress。我使用这个工具进行数据库迁移,效果非常好。之后,我更改了配置文件,如下所示 'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Postgres', 'persistent' => false,

我正在将cakephp 3.0数据库从mysql迁移到postgress。我使用这个工具进行数据库迁移,效果非常好。之后,我更改了配置文件,如下所示

  'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Postgres',
            'persistent' => false,
            'host' => 'localhost',
            'port' => '5432',
            'username' => 'postgres',
            'password' => 'mypass',
            'database' => 'cake_bookmarks',
            'encoding' => 'utf8',
            'timezone' => 'UTC',
            'cacheMetadata' => true,
            'log' => false,
            'quoteIdentifiers' => false,

            //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
        ],
localhost中的根文件夹还显示“已成功连接到数据库”。但是,当我运行应用程序时,它会显示一个错误:

无法描述mytable。它有0列。蛋糕\数据库\异常

我无法确定这是因为没有连接到数据库(我认为这不太可能,因为根页面显示为已连接),还是因为cakephp无法使用我的数据库。 如果是,我如何解决该问题。我对cakephp也很陌生,只是熟悉和做一些基本的东西。

尝试以下方法(在每个步骤后进行测试):

  • 检查数据库中是否存在该表
  • 检查表中是否定义了所需的列
  • 清除蛋糕缓存(如果文件缓存足以删除
    tmp/cache/persistent
    tmp/cache/models
    tmp/cache/views
  • 检查特定用户在数据库
    cake_书签
    上的权限(可能通过phppgadmin)

希望能提供帮助!

您能添加您正在使用的CakePHP版本吗?3,0,我将更新问题。您的数据库中似乎没有该表。我建议检查该表是否存在,数据库用户是否有权读取该表,以及您是否在数组中配置了正确的架构。