データベース内のエンティティとテーブルを動的に(phpスクリプトから)作成および変更する方法はありますか?
たとえば、配列からエンティティを生成したいとします。
fields{
id: integer,
name: string,
... and so on
}
そして、bdでテーブルを生成するよりも
私は1つの簡単な解決策しか知りません:ymlまたはxmlファイルを作成し、スクリプトからコンソールコマンドを実行するか、DBALを使用します
私は1つの簡単な解決策しか知りません:ymlまたはxmlファイルを作成し、スクリプトからコンソールコマンドを実行するか、DBALを使用します
コマンドラインからエンティティを生成することもできます。次に例を示します。
$ php app/console generate:doctrine:entity --no-interaction \
--entity=AcmeBlogBundle:Post \
--fields="id:integer title:string(100) body:text" \
--format=xml
これはされSensioGeneratorBundle、使用するだけで定義されているdev
とtest
環境。
したがって、少しハッキーですが、適切な環境でこのコマンドを呼び出す必要があります。
$ php app/console generate:doctrine:entity […] --env=dev
プロセスコンポーネントは、このコマンドを起動するために使用することができます。
したがって、次のような結果になる可能性があります。
use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;
$command = 'php app/console generate:doctrine:entity --no-interaction '.
'--entity=AcmeBlogBundle:Post '.
'--fields="id:integer title:string(100) body:text" '.
'--format=xml';
$process = new Process($command);
$process->run();
// executes after the command finishes
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加