我正在运行Mac OSX Mavericks,我正在尝试让Propel运行。我做了作曲家的安装。由于某种原因,当我运行 model:build 命令时它没有给出响应。
当我没有推进器时.php在文件夹中:
MacBook-Pro-van-Casper-4:test casper$ ./vendor/bin/propel model:build
[Symfony''Component''Config''Definition''Exception''InvalidConfigurationException]
必须配置路径"propel"处的子节点"数据库"。
所以后来我做了一个推进.php文件,然后我再也没有得到回应了:
MacBook-Pro-van-Casper-4:test casper$ ./vendor/bin/propel model:build
MacBook-Pro-van-Casper-4:test casper$
当 propel.php 文件不存在时,我收到错误的事实告诉我 Propel 安装得很好。
我知道这是一个很难处理的情况,因为没有错误,但所有建议都值得赞赏。
除非您截断了设置步骤,否则您将缺少一些步骤。简而言之,您的问题的答案是:"架构文件为空"
推进具有 cli 的详细选项。非常有帮助
推进.php
推进.php文件本质上是数据库配置文件。它不提供推进数据库结构信息,只提供连接详细信息。
您需要做的是将现有数据库反向工程到架构中。然后梳理你的模式以寻找善良。然后构建模型。
该网站有很棒的文档和您缺少的其余内容(如果您有现有数据库或有新数据库
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 个连接。您可以根据需要创建任意数量。现在,如果您有一个架构文件,请将其与 propell.php 文件放在同一级别。我将两者放在项目根目录中,并与vendor
目录处于同一级别。在同一级别上创建一个model
目录。然后运行以下命令:
~/Desktop/Propel_orm/vendor/bin/propel model:build --output-dir ~/Desktop/Propel_orm/models
您将在models
目录中拥有生成的模型文件。我在桌面上创建了示例项目。相应地更改路径。