私は、スキーマの移行に沿ってデータ移行を行う必要があります。 preUp()
とpostUp()
関数を使用してデータをフェッチし、スキーマの移行を適用し、新しい列を古いデータで更新します。
私は少なくとも6000レコードに触れているので、私は生のクエリを使いたいと思っていました。 ContainerAwareInterfaceからの依存関係はありません。私のローカルコピーでは、次のようなことをします:
$SQL = "SELECT column FROM table;";
$statement = $this->connection->prepare($SQL);
$statement->execute();
$results = $statement->fetchAll();
//continue with $results etc
これはうまく動作しています。アプリケーションは1定義した接続/エンティティマネージャとサイトが正常に動作している
Migration 20161117165412 failed during Pre-Checks. Error SQLSTATE[42000]: Syntax error or access violation: 1142 SELECT command denied to user 'valid_username'@'valid_host' for table 'table'
:私はPROD上でこの移行を実行しようとすると、私はメッセージが表示されます。私はここに何が影響しているのか本当に理解できないのですか?私は確かにいくつかの設定が、私はアイデアを使い果たした。
私はmysql.userで設定された権限をチェックしており、 'valid_username'のすべての権限はNに設定されています。これは、アプリケーションが読み取り権限でも失敗することが予想されるためです。
クレデンシャルは '$ this-> connection'で設定する必要があります - どこから来ますか? –
これはsymfonyプロジェクトです。通常、資格情報はparameters.ymlファイルにあります。 – stevenll
私は接続オブジェクトを意味しました。あなたはContainerAwareInterfaceからの依存関係がないと言ったので、どこから来たのですか? –