4

MySQLで「モーター」DBを作成した後、次のコマンドを使用してSymfonyでDBを構成しました。

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

appname/config/doctrine/schema.ymlファイルがあります。

このファイルでは、次のテーブルを定義しました。

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 } 

次に、次のコマンドを実行しました。

$ php symfony doctrine:build --model

これにより、次の出力が得られました。

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

その後、次のコマンドを使用してSQLの生成に進みました。

$ php symfony doctrine:build --sql

出力は次のとおりです。

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

ただし、生成されappname/data/sql/たファイルの下schema.sqlは空です。

したがって、このコマンド$ php symfony doctrine:insert-sqlは、私のDBにテーブルを生成しませんでした。ただし、メッセージ出力は成功しました。

>> doctrine  creating tables
>> doctrine  created tables successfully

コマンド$ php symfony doctrine:build --allも機能しませんでした。

私が間違っている可能性があることは何か考えていますか?

4

1 に答える 1

1

これを行うために私が使用していた方法論には何の問題もなかったようです。

問題は私が使用していたSymfonyバージョンにあり、何らかの理由で正しく機能していませんでした。

それを修正するために、最新のSymfony 1.4.18バージョンをダウンロードしてコードを再実行しましたが、今回は正しく機能しました。

于 2012-09-23T17:05:45.443 に答える