1

私はSymfony2で私のウェブサイトの新しいバージョンを開発しています。以前のバージョンではmysqlを使用していましたが、現在はDoctrine2/Mysqlを使用しています。ユーザーテーブルを新しいバージョンにインポートしたい。Symfony2が提供するコマンドツールを使うのが一番いい方法だと思います。

ただし、phpスクリプトを実行して新しいデータベースにデータを入力するために、古いmysqlデータベース(またはmysqlダンプ)を参照する方法がわかりません。

何か案は ?

4

3 に答える 3

0

やったよ !

それが最善の解決策かどうかはわかりませんが、うまくいきます。

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

于 2012-06-08T01:04:24.890 に答える
0

新しいデータベースを用意する必要はありません。実際のデータベースを使い続けることができます。ただし、複製したい場合は、mysqladminコマンド ツールを使用できます。次に、データベースからエンティティを生成
できます。

于 2012-06-05T20:35:40.180 に答える