0

我是 Doctrine 的新手,从他们的教程开始。这是我的 bootstrap.php:

<?php
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;

require_once "vendor/autoload.php";

$isDevMode = true;
$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/src"), $isDevMode);


// database configuration parameters
$conn = array(
'driver' => 'pdo_sqlite',
'path' => __DIR__ . '/db.sqlite',
);

// obtaining the entity manager
$entityManager = EntityManager::create($conn, $config); 

还有我的 Products.php:。

<?php
// src/Product.php
/**
 * @Entity @Table(name="products")
 **/
class Product
{
/** @Id @Column(type="integer") @GeneratedValue **/
protected $id;
/** @Column(type="string") **/
protected $name;

public function getId()
{
    return $this->id;
}

public function getName()
{
    return $this->name;
}

public function setName($name)
{
    $this->name = $name;
}
}

现在我做:

$ php vendor/bin/doctrine orm:schema-tool:update --force --dump-sql

但是我的数据库仍然是空的,我没有得到产品表。怎么了?
或者我要自己创建这张桌子?

4

2 回答 2

0

我都做错了。我要创建类:

<?php
//doctrine-cli.php
use Symfony\Component\Console\Helper\HelperSet,
Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper,
Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper,
Doctrine\ORM\Tools\Console\ConsoleRunner;
require_once __DIR__ . '/bootstrap.php';

$helperSet = new HelperSet(array(
'em' => new EntityManagerHelper($entityManager),
'conn' => new ConnectionHelper($entityManager->getConnection())
));
ConsoleRunner::run($helperSet);

并调用如下教义命令:

$ php doctrine-cli.php orm:schema-tool:update --force --dump-sql
于 2013-09-06T06:27:08.873 回答
0

也许你必须写一些东西到 DB 来生成 *.sqlite 文件。创建任何脚本来制作它(如示例中所示)并查看您的文件现在是否有任何内容

于 2013-08-30T07:57:47.643 回答