1

私はsymfonyプラグインの世界で最初の一歩を踏み出しましたが、少し迷っています...

データベースを備えたライブアプリがあります。通常、新しいテーブルまたはフィールドが必要な場合は、schema.ymlを更新し、generate-migration-diffおよびbuild --all-classes--and-migratesymfonyコマンドを呼び出して移行を行います。

今日、jsスクリプトとcssスクリプトを縮小するために、プラグイン(つまり、sfCombinePlugin)をインストールする必要があります。symfony plugin:installコマンドを使用してインストールしました。すべてのファイルがpluginsフォルダーにあります。私はread-meに従い、モデルをビルドするように指示されているので、コマンドdoctrine:build-modelを実行すると、フォルダーsfCombinePluginがlib / model/doctrineフォルダーに表示されます。

しかし、今は行き詰まっているので、データベースにテーブルを追加する必要があります。私の読みでは、doctrine:build-sqlを介してSQLを生成し、生成されたSQLをデータベースで実行すると書かれています。しかし、私はいくつかの問題が来るのを見ています...

SQLファイルを実行してデータを消去しますか?データベースを最初から作成するので、きっとそうなるでしょう...

そのため、通常どおり、移行を使用したいと思います。しかし、generate-migration-diffを実行すると、プラグインフォルダーのschema.ymlが考慮されません。それは正常ですか、それともバグですか?

schema.ymlアプリファイル内にschema.ymlプラグインのコンテンツをコピーすることを考えましたが、モデルクラスはsfCombinePluginフォルダーではなく一般モデルにあるため、これが適切かどうかはわかりません。フォルダ。そして、それは良くないように聞こえます。

4

1 に答える 1

0

build-sqlSQL ファイルを作成するだけです。insert-sqlデータベースを上書きします。このようにテーブルを追加するときは、生成された SQL を調べてdata/sql手動でテーブルを追加しただけです。s2には、IIRCが組み込まれた移行があります。s1.4 については、 http: //www.symfony-project.org/plugins/sfPropelMigrationsLightPlugin をチェックしてください。Googleで見つけたばかりですが、使用したことはありません。

于 2011-10-27T15:47:50.537 に答える