0

zendframework 2 で定義されている現在のデータベース スキーマを使用してアプリケーションをすばやく初期化し、データをデータベースにシードする方法を探しています。 zf2に存在するかどうかはわかりません。これに関する公式ドキュメントは見つかりません:)

4

1 に答える 1

1

Use Phing for that task. Initializing (installing) your app, should not be done by the app itself but by an external agent like Phing.

Here is an example phing target of how you can install your database and populate it with initial data:

<target name="recreate-db">
    <echo message="[Data] Drop and recreate database..." />
    <pdosqlexec
            url="mysql:host=${db.project.host};dbname=${db.project.dbname}"
            userid="${db.project.username}"
            password="${db.project.password}"
            onerror="abort">
        DROP DATABASE IF EXISTS `${db.project.dbname}`;
        CREATE DATABASE `${db.project.dbname}`;
    </pdosqlexec>
    <echo message="[Data] Populate database with schema and start-data ..." />
    <pdosqlexec
            url="mysql:host=${db.project.host};dbname=${db.project.dbname}"
            userid="${db.project.username}"
            password="${db.project.password}"
            onerror="abort">
        <transaction src="${basePath}/db-versioning/schema.sql" />
        <transaction src="${basePath}/db-versioning/start-data.sql" />
    </pdosqlexec>
</target>
于 2013-02-21T22:27:08.633 に答える