zendframework 2 - 加载初始数据和数据库模式

时间:2013-02-21 22:17:07

标签: zend-framework2

我正在寻找一种方法来快速初始化我们的应用程序,使用当前的数据库模式定义并将数据种子数据发送到zendframework 2中的数据库。这在现代Web框架中已经很好地完成了,比如rails,play!,你的名字它但我不知道它是否存在于zf2中。我没有找到任何关于此的官方文件:)

1 个答案:

答案 0 :(得分:1)

使用Phing完成该任务。初始化(安装)您的应用程序不应该由应用程序本身完成,而应由Phing等外部代理完成。

以下是一个示例目标,说明如何安装数据库并使用初始数据填充它:

<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>