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