dongyue0225 2012-09-21 11:21
浏览 106
已采纳

在Symfony中使用Doctrine创建表

After I had created a "motor" DB in MySQL, I configured the DB in Symfony with this command:

$ php symfony configure:database "mysql:host=localhost;dbname=motor" root <mypassword>

Under appname/config/doctrine/ I have a schema.yml file.

In this file I defined the following table:

Car:
  actAs: { Timestampable: ~ }
  columns: 
    brand: { type: string(255), notnull: true }
    model: { type: string(255), notnull: true }
    version: { type: string(255), notnull: true }
    url: { type: string(255), notnull: true }
    year: { type: string(4), notnull: true }
    info: { type: string(10000), notnull: true }
    updated_at: { type: timestamp, notnull: true }
    created_at: { type: timestamp, notnull: true } 

Then I executed the command:

$ php symfony doctrine:build --model

Which gave me the following output:

>> doctrine  generating model classes
>> file+     /tmp/doctrine_schema_57936.yml
>> tokens    /home/username/webapps/www/appname/lib/model/doctrine/CarTable.class.php
>> tokens    /home/username/webapps/www/appname/lib/model/doctrine/Car.class.php
>> tokens    /home/username/webapps/www/appname/lib/model/doctrine/base/BaseCar.class.php
>> autoload  Resetting application autoloaders
>> file-     /home/username/webapps/www/appname/cache/frontend/dev/config/config_autoload.yml.php

After that I proceeded to generate the sql with this command:

$ php symfony doctrine:build --sql

The output is:

>> doctrine  generating model classes
>> file+     /tmp/doctrine_schema_89541.yml
>> tokens    /home/username/webapps/www/motor/lib/model/doctrine/base/BaseCar.class.php
>> autoload  Resetting application autoloaders
>> file-     /home/username/webapps/www/motor/cache/frontend/dev/config/config_autoload.yml.php
>> doctrine  generating sql for models
>> doctrine  Generated SQL successfully for models

However under appname/data/sql/ the file schema.sql generated is empty.

So this command $ php symfony doctrine:insert-sql, didn't generated any table in my DB. However it gave a successful message output:

>> doctrine  creating tables
>> doctrine  created tables successfully

The command $ php symfony doctrine:build --all, didn't work either.

Any idea what I could be doing wrong?

  • 写回答

1条回答 默认 最新

  • duanni5726 2012-09-23 17:05
    关注

    It seems that there was nothing wrong with the methodology I was using in order to do this.

    The problem resided in the Symfony version I was using, which for some reason wasn't working correctly.

    In order to fix it I downloaded the latest Symfony 1.4.18 version and run the code again, this time it worked properly.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格