我是Doctrine的新手,并以tutorial开头。 这是我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
但是我的数据库仍然是空的我没有得到产品表。什么错了?
或者我会自己创建这个表?
答案 0 :(得分:0)
也许您必须向DB写一些内容以生成* .sqlite文件。创建任何脚本(如示例中所示)并查看您的文件是否现在有任何内容
答案 1 :(得分: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);
并调用doctrine命令,如:
$ php doctrine-cli.php orm:schema-tool:update --force --dump-sql