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

*.sqlite ファイルを生成するには、DB に何かを書き込む必要があるかもしれません。それを作成するスクリプトを作成し(例のように)、ファイルにコンテンツがあるかどうかを確認します

于 2013-08-30T07:57:47.643 に答える