我正在运行Mac OSX Mavericks并且我试图让Propel运行。 我是由Composer完成安装的。 出于某种原因,当我运行model:build命令时,它没有给出响应。
当我在文件夹中没有propel.php时:
MacBook-Pro-van-Casper-4:测试casper $ ./vendor/bin/propel model:build
[Symfony的\元器件\配置\定义\异常\ InvalidConfigurationException]
子节点"数据库"在路径"推进"必须配置。
然后我制作了一个propel.php文件,然后我再也没有得到回复:
MacBook-Pro-van-Casper-4:测试casper $ ./vendor/bin/propel model:build
MacBook-Pro-van-Casper-4:测试casper $
当propel.php文件不存在时我收到错误的事实告诉我Propel安装得很好。
我认为这是一个难以处理的情况,因为没有错误,但所有建议都值得赞赏。
答案 0 :(得分:1)
除非您已截断设置步骤,否则您将错过一些设置步骤。简而言之,你的问题的答案是:"架构文件是空的"
Propel有cli的详细选项。非常有帮助
<强> Propel.php 强>
propel.php文件基本上是数据库配置文件。它没有提供推动数据库结构信息,只提供连接细节。
您需要做的是将现有数据库反向工程为模式。然后梳理你的架构以获得善意。然后建立你的模型。
该网站有很好的文档,如果你有一个,你还有其他的遗漏 Existing Databases或者如果您有New Database
答案 1 :(得分:1)
propel.php文件需要填充连接信息。见下面的例子:
<?php
return [
'propel' => [
'database' => [
'connections' => [
'bookstore' => [
'adapter' => 'mysql',
'classname' => 'Propel\Runtime\Connection\ConnectionWrapper',
'dsn' => 'mysql:host=localhost:3306;dbname=bookstore',
'user' => 'root',
'password' => '12345678',
'attributes' => []
],
'wordpress' => [
'adapter' => 'mysql',
'classname' => 'Propel\Runtime\Connection\ConnectionWrapper',
'dsn' => 'mysql:host=localhost:3306;dbname=wordpress',
'user' => 'root',
'password' => '12345678',
'attributes' => []
]
]
],
'runtime' => [
'defaultConnection' => 'bookstore',
'connections' => ['bookstore', 'wordpress']
],
'generator' => [
'defaultConnection' => 'bookstore',
'connections' => ['bookstore','wordpress']
]
]
];
请注意,我创建了2个连接。您可以根据需要创建任意数量的内容。现在,如果您有一个模式文件,则将其放在与propel.php文件相同的级别上。我将两者放在项目根目录中,并与vendor
目录处于同一级别。在同一级别创建model
目录。然后运行以下命令:
~/Desktop/Propel_orm/vendor/bin/propel model:build --output-dir ~/Desktop/Propel_orm/models
您将在models
目录中生成模型文件。我在桌面上创建了示例项目。相应地改变路径。