1

CakePHPアプリでは、データベーススキーマをエクスポートしましたが、ユーザーの事前入力に使用するデータが必要です。

スキーマのみを生成するため、機能しません。

cake schema generate

データベース内の現在のデータの挿入または更新を生成するソリューションを探しています。

アップデート:

これは私が書いているインストーラー用です。ユーザーがインストールを完了すると、アプリに必要なデータをデータベースに入力する必要があります。

4

2 に答える 2

3

これを行うには、MySQLを使用します。

mysqldump -u <username> -p <databasename>

およびをユーザー名とデータベース名に置き換えます。

于 2012-09-05T23:11:20.007 に答える
1

注: OPは、データベースのコマンドライン自体からデータを取得する方法を要求していません。彼は、ユーザーがインストールを実行したときにデータベースにデータを入力するインストーラーを作成したいと考えています。たとえば、WordPressをインストールするとき、mysqldumpを実行するつもりはありませんよね?アプリケーションがそれを処理します。これも同様の状況です。

これを行う最も簡単な方法は、アプリケーションに付属のモデルを使用することです。

システムがインストールされているかどうかを確認します。インストールされていない場合は、以下を実行します。

  1. フォームでDBクレデンシャルを要求するインストーラーを開きます
  2. クレデンシャルを使用してデータベースを作成します
  3. データベースを作成できない場合は、データベースを手動で作成する必要があることを説明します
  4. クレデンシャルをdatabase.php構成の正しい場所に保存します
  5. コントローラ内からスキーマを作成します
  6. スキーマが構築されたら、モデルからすべてのプリセットデータをロードします

ケーキ内のインストールコントローラー/dbモデルを利用して、リフティングを実行します。したがって、たとえば、いくつかの構成設定をプリロードする場合は、次のようにします。

$config['Config']['setting_1'] = 'foo';
$config['Config']['setting_2'] = 'bar';

$this->loadModel('Config');
$this->Config->create();
$this->Config->save($config);

お役に立てば幸いです。

于 2012-09-06T18:34:01.570 に答える