Doctrine 2 命令行打印 Cygwin 配置

2022-01-16 00:00:00 php doctrine doctrine-orm

我试图在我的项目中使用 Doctrine 2,但是当我尝试访问命令行以从我的数据库中导入实体以生成文件时,它会打印来自 vendor/bin/doctrine

I am trying to use Doctrine 2 in my project, but when I try to access the command line to import the Entities from my database to generate the files, it print the code from vendor/bin/doctrine

dir=$(d=${0%[/\]*}; cd "$d"; cd '../doctrine/orm/bin' && pwd)

# See if we are running in Cygwin by checking for cygpath program
if command -v 'cygpath' >/dev/null 2>&1; then
    # Cygwin paths start with /cygdrive/ which will break windows PHP,
    # so we need to translate the dir path to windows format. However
    # we could be using cygwin PHP which does not require this, so we
    # test if the path to PHP starts with /cygdrive/ rather than /usr/bin
    if [[ $(which php) == /cygdrive/* ]]; then
            dir=$(cygpath -m $dir);
    fi
fi

dir=$(echo $dir | sed 's/ / /g')
"${dir}/doctrine.php" "$@"

我的文件夹结构:

src/
vendor/
bootstrap.php
cli-config.php
composer.json
composer.lock
index.php

bootstrap.php

bootstrap.php

<?php

require_once "vendor/autoload.php";

use DoctrineORMToolsSetup;
use DoctrineORMEntityManager;

$paths = array("src/Entity");
$isDevMode = false;

// the connection configuration
$dbParams = array(
    'driver'   => 'pdo_mysql',
    'user'     => '',
    'password' => '',
    'dbname'   => '',
);

$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);

cli-config.php

cli-config.php

<?php

use DoctrineORMToolsConsoleConsoleRunner;

// replace with file to your own project bootstrap
require_once 'bootstrap.php';

// replace with mechanism to retrieve EntityManager in your app
$entityManager = GetEntityManager();

return ConsoleRunner::createHelperSet($entityManager);

我正在尝试在我的命令行中使用:php vendor/bin/doctrine --help.我也在 Ubuntu 14.01 中使用 Vagrant.

I am trying to use in my command line: php vendor/bin/doctrine --help. I am using also Vagrant with Ubuntu 14.01.

我没有使用 Symfony 2,只是尝试在没有任何框架的情况下安装 Doctrine.

I am not using Symfony 2, Just trying to install Doctrine without any framework.

谢谢.

推荐答案

我在安装 windows 时遇到了同样的错误,这个命令可以解决它:

I got the same error when I was in windows setup and this command worked to resolve it:

php vendor/doctrine/orm/bin/doctrine.php orm:schema-tool:create

来源:http://www.agevaled.com/2013/10/09/doctrine2-getting-started-issues/2147483647/

相关文章