Php 基于模式声明使用Doctrine2创建表和实体
我试图让Php 基于模式声明使用Doctrine2创建表和实体,php,zend-framework,orm,command-line,doctrine-orm,Php,Zend Framework,Orm,Command Line,Doctrine Orm,我试图让Doctrine2和Zend框架一起工作。到目前为止,我已经能够自动加载Doctrine2并连接到我的数据库 我现在期待着使用yml中的模式声明创建我的表: Doctrine\Entities\User: type: entity table: core_user columns: id: primary: true autoincrement: true type: inte
Doctrine2
和Zend框架
一起工作。到目前为止,我已经能够自动加载Doctrine2
并连接到我的数据库
我现在期待着使用yml
中的模式声明创建我的表:
Doctrine\Entities\User:
type: entity
table: core_user
columns:
id:
primary: true
autoincrement: true
type: integer(11)
notnull: true
name:
type: string
notnull: true
default: ''
middle_name:
type: string
default: ''
last_name:
type: string
notnull:true
default: ''
username:
type: varchar(16)
default: ''
email:
type: string
notnull: true
default: ''
role_id:
type: integer
date_creation:
type: timestamp
version:
type: timestamp
我已经能够让命令行工作,但是我不能让它在我的数据库中创建表
我使用的是标准的Zend框架
文件夹结构
+-- Application
+-- configs
+-- controllers
+-- doctrine
+-- Schema
+-- schema.yml
+-- Entities
cli-config.php
+-- layouts
+-- models
+-- modules
+-- view
bootstrap.php
+-- Public
+-- Library
+-- Doctrine2
+-- Tests
我的模式声明位于Application/doctor/schema/schema.yml
中,我希望从中创建数据库表和实体
当我尝试运行命令orm:schema工具:create
时,我得到以下消息:没有要处理的元数据类。
我想知道为什么
我的工作方式是否正确,还是应该手动定义实体,然后尝试从中创建表?检查cli config.php
中的配置。
您应该使用YAML驱动程序:
// $config instanceof Doctrine\ORM\Configuration
$driver = new YamlDriver(array('/path/to/files'));
$config->setMetadataDriverImpl($driver);
更多