Symfony 学说:构建模型错误
我已经为我的 Symfony+doctrine 应用程序编写了数据库的 yaml 模式,并且我试图让它来制作模型等,但它在 doctrine:build-model
上出错
$> ./symfony 学说:构建模型
>>>学说生成模型类>>文件+ /tmp/doctrine_schema_89653.yml
在 /tmp/doctrine_schema_89653.yml 中找不到 yml 模式
我将我的模式放入 config/doctrine/schema.yml 中,根据我所经历的所有教程,它应该位于其中。经过一番谷歌搜索后,我认为我的 yaml 中可能存在语法错误,但我不确定。这是以防万一:
Coder:
actAs: [Timestampable]
tableName: dormcode_coder
columns:
id:
type: integer
primary: true
autoincrement: true
username: string(60)
password: string(60)
email: string(255)
firstname: string(60)
lastname: string(60)
Client:
actAs: [Timestampable]
tableName: dormcode_client
columns:
id:
type: integer
primary: true
autoincrement: true
username: string(60)
password: string(60)
email: string(255)
firstname: string(60)
lastname: string(60)
Project:
actAs: [Timestampable]
tableName: dormcode_project
columns:
id:
type: integer
primary: true
autoincrement: true
client_id: integer
title: string(255)
briefdesc: clob
spec: clob
coder_id:
type: integer
notnull: false
default: null
paytype: string(30)
negotiable:
type: bool
default: false
complete:
type: bool
default: false
relations:
Coder:
foreignType: one
Client:
foreignType: one
Iteration:
actAs: [Timestampable]
tableName: dormcode_iteration
columns:
id:
type: integer
primary: true
autoincrement: true
ordernum: integer
description: clob
project_id: integer
relations:
Project:
foreignAlias: Iterations
我不确定还会有什么,有谁知道其他什么类型的事情可能会导致该错误?这实际上没有意义...
编辑:我只是在 /tmp 中查找该文件,它就在那里。它继续 { }
就是这样。
I have written my yaml schema for the database for my Symfony+doctrine application, and I'm trying to get it to make the models and such, but it errors on doctrine:build-model
$> ./symfony doctrine:build-model
>> doctrine generating model classes>> file+ /tmp/doctrine_schema_89653.yml
No yml schema found in /tmp/doctrine_schema_89653.yml
I put my schema in config/doctrine/schema.yml
, where it should be according to all the tutorials I have gone through. After some googling I think there might be a syntax error in my yaml, but I am not sure. Here it is just in case:
Coder:
actAs: [Timestampable]
tableName: dormcode_coder
columns:
id:
type: integer
primary: true
autoincrement: true
username: string(60)
password: string(60)
email: string(255)
firstname: string(60)
lastname: string(60)
Client:
actAs: [Timestampable]
tableName: dormcode_client
columns:
id:
type: integer
primary: true
autoincrement: true
username: string(60)
password: string(60)
email: string(255)
firstname: string(60)
lastname: string(60)
Project:
actAs: [Timestampable]
tableName: dormcode_project
columns:
id:
type: integer
primary: true
autoincrement: true
client_id: integer
title: string(255)
briefdesc: clob
spec: clob
coder_id:
type: integer
notnull: false
default: null
paytype: string(30)
negotiable:
type: bool
default: false
complete:
type: bool
default: false
relations:
Coder:
foreignType: one
Client:
foreignType: one
Iteration:
actAs: [Timestampable]
tableName: dormcode_iteration
columns:
id:
type: integer
primary: true
autoincrement: true
ordernum: integer
description: clob
project_id: integer
relations:
Project:
foreignAlias: Iterations
I'm not sure what else there would be, does anyone know what other kinds of things might cause that error? It doesn't really make sense...
EDIT: I just looked in /tmp for the file, and it is there. it contins { }
and thats it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,最近也犯了同样的错误,很麻烦。它所做的是尝试加载旧的临时文件,而不是您希望它使用的文件:
“在 /tmp/doctrine_schema_89653.yml 中找不到 yml 架构”
找到此临时文件夹(我我正在 Windows 上运行 XAMPP,所以我的位于 XAMPP 文件夹中),从那里删除所有旧架构文件,然后再次构建。您可能需要重复执行此操作,因为每次都会创建一个临时文件。
Yeah, had the same error recently, a nuisance. What it's doing is that it's trying to load an old temp file instead of the one you want it to use:
"No yml schema found in /tmp/doctrine_schema_89653.yml"
Find this temp file folder (I'm running XAMPP on Windows so mine was in the XAMPP folders), erase all old schema files from there, and build again. You may need to do this repeatedly, as a temp file is created every time.
我看到你的 schema.yml 设置了 4 个空格作为缩进。我的总是有2个空格。你可以尝试一下。
我还从 lib 文件夹中删除了所有生成的类(例如 /lib/models/doctrine/* 和表单(不是 BaseForm.class.php)和过滤器,因为 symfony 首先生成模型并从那里生成 sql,然后插入数据库中的sql。
I see your schema.yml has set 4 spaces as indentation. Mine always has 2 spaces. You could try that.
I also deleted all generated classes from the lib folder (eg. /lib/models/doctrine/* and forms (not the BaseForm.class.php) and filters, because symfony first generates the models and from there the sql and then inserts the sql in the db.