CakePHP 2.3控制台架构:无法加载所选架构

时间:2013-02-05 16:24:25

标签: cakephp cakephp-2.0 cakephp-2.1

我的CakePHP 2.3应用程序有很多插件,我使用内置的架构迁移来维护数据库表结构。

其中一些工作没有问题,但在其他方面我得到以下错误:

Richs-MacBook-Pro:mhd rich$ ./Console/cake schema update -p PipPages
Welcome to CakePHP v2.3.0 Console
---------------------------------------------------------------
App : mhd
Path: /Users/rich/sites/mhd/
---------------------------------------------------------------
Cake Schema Shell
---------------------------------------------------------------
The chosen schema could not be loaded. Attempted to load:
File: /Users/rich/sites/mhd/Plugin/PipPages/Config/Schema/schema.php
Name: PipPage

我只想指出一些事情。我的插件名为PipPages。在输出中,它说它正在尝试加载PipPage的模式 - 我应该以不同的方式命名我的插件吗?

我已经三次检查schema.php插件的PipPages文件是否存在,但是插件应该命名为PipPage以便与架构shell一起使用?

在书中,他们给出了一个复数示例:http://book.cakephp.org/2.0/en/plugins.html#plugin-configuration

2 个答案:

答案 0 :(得分:4)

似乎CakePHP期待一个单一的插件名称,但为了解决这个问题,你可以将name param传递给Schema Shell:

./Console/cake schema update -p PipPages PipPages

这似乎允许更新无错误地运行。

答案 1 :(得分:1)

我刚刚遇到类似的问题,涉及未加载的架构。特别是与插件无关,只是更新模式。

bash-3.2$ ./Console/cake schema update -s 14

Welcome to CakePHP v2.4.5 Console
---------------------------------------------------------------
App : app
Path: /var/sites/e/example.com/public_html/app/
---------------------------------------------------------------
Cake Schema Shell
---------------------------------------------------------------
The chosen schema could not be loaded. Attempted to load:
File: /var/sites/e/example.com/public_html/app/Config/Schema/schema_14.php
Name: App

schema_14.php是我想要升级的版本,但我认为我也尝试使用其他版本。出于某种原因schema_10.php实际上有效。这是由于错误的类名已被添加到模式文件中。

<强> schema_10.php

class AppSchema extends CakeSchema {

<强> schema_14.php

class Schema extends CakeSchema {

Schema中将AppSchema重命名为schema_14.php就可以了。

两者都是使用CakePHP v2.4.5生成的。在生成模式时,我唯一可以想到的就是从bake调用另一个目录(即使用不同的-app <app>参数)。

相关问题