私はSymfony2で私のウェブサイトの新しいバージョンを開発しています。以前のバージョンではmysqlを使用していましたが、現在はDoctrine2/Mysqlを使用しています。ユーザーテーブルを新しいバージョンにインポートしたい。Symfony2が提供するコマンドツールを使うのが一番いい方法だと思います。
ただし、phpスクリプトを実行して新しいデータベースにデータを入力するために、古いmysqlデータベース(またはmysqlダンプ)を参照する方法がわかりません。
何か案は ?
私はSymfony2で私のウェブサイトの新しいバージョンを開発しています。以前のバージョンではmysqlを使用していましたが、現在はDoctrine2/Mysqlを使用しています。ユーザーテーブルを新しいバージョンにインポートしたい。Symfony2が提供するコマンドツールを使うのが一番いい方法だと思います。
ただし、phpスクリプトを実行して新しいデータベースにデータを入力するために、古いmysqlデータベース(またはmysqlダンプ)を参照する方法がわかりません。
何か案は ?
やったよ !
それが最善の解決策かどうかはわかりませんが、うまくいきます。
1) 古いテーブルを新しいデータベースにインポートする
2) Doctrine にデータベースをイントロスペクトし、対応するメタデータ ファイルを生成するように依頼します。
php app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force
3) 次のコマンドを実行して、Doctrine にスキーマをインポートし、関連するエンティティ クラスを構築するように依頼します。
php app/console doctrine:mapping:import AcmeBlogBundle annotation
これで、古いデータベースでこの EntityManager を使用して、必要なすべてのスクリプトを実行できるようになりました。
ここで詳細情報を見つけることができます: http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html
新しいデータベースを用意する必要はありません。実際のデータベースを使い続けることができます。ただし、複製したい場合は、mysqladminコマンド ツールを使用できます。次に、データベースからエンティティを生成
できます。