2013-08-30 84 views
0

Im新與教條,並從tutorial開始。 這裏是我的bootstrap.php:來自Doctrine 2文檔的示例

<?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 

但我仍然分貝空我沒有得到產品表。怎麼了?
或者我會創建這個表格自我?

回答

0

也許你必須寫一些東西給DB來生成* .sqlite文件。創建任何腳本來製作(如示例中所示),然後查看您的文件是否有任何內容

+0

化妝後此命令'$ PHP create_product.php ORM'我得到錯誤的學說找不到表產品。 –

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