0

Silverstripe で自動テストをセットアップしようとしています! Cパネルで。URLでテストを実行すると(私の場合はDOMAIN/dev/tests/AggregateTestです)、次のように表示されます

致命的なエラー: クエリを実行できませんでした: CREATE DATABASE tmpdb2605857Access denied for user 'todaytes_root'@'localhost' to database 'tmpdb2605857' in /home/todaytes/public_html/sapphire/core/model/MySQLDatabase.php 行 525

Silverstripe は、テストが実行されるたびにランダムな名前のデータベースを作成し、テストの終了後にそれを破棄します。

cPanelの「データベース」メニューから、データベースとユーザーを手動で追加することしか許可されていません (私の場合、データベースとユーザーはすべてtodaytes_で始まります)。Silverstripe 自動テストが正常に機能するように、cPanel/WHM を構成してユーザーに許可を与えるにはどうすればよいですか?

4

2 に答える 2

0

いくつかのポイント:

  • ファイルで定義SS_DATABASE_PREFIXして_ss_environment.php、「username_」に設定できます。これは、使用される一時データベースの名前に影響します。
  • ランダムなデータベース名を使用したくない場合は、SapphireTest::create_temp_db().
于 2012-06-07T05:03:48.930 に答える
0

cPanel ユーザーには、ランダムな名前でデータベースを作成するためのアクセス権がありません。cPanel から作成されたデータベースには常に「username_」というプレフィックスが付きます

サーバーへの root アクセス権がある場合は、MySQL の root ユーザー名とパスワードを使用してこれを行うことができます。ファイル /root/.my.cnf から MySQL ルートのユーザー名とパスワードを取得できます。

于 2012-04-02T14:59:59.050 に答える