Propel - propel:build-sql - 能够添加 CREATE DATABASE .. 如果不存在

Posted

技术标签:

【中文标题】Propel - propel:build-sql - 能够添加 CREATE DATABASE .. 如果不存在【英文标题】:Propel - propel:build-sql - Ability to add CREATE DATABASE .. IF NOT EXISTS 【发布时间】:2012-06-12 22:25:20 【问题描述】:

我正在自定义一个 phpUnderControl 构建文件,以使用 symfony propel:build-sql 功能生成要为每个构建(不是每个测试)加载的 .sql 文件。我遇到的是生成的 .sql 文件期望数据库存在,但作为构建过程的一部分,我想删除并重新创建在 schema.yml 文件中找到的每个数据库,以确保一个干净的测试环境。

我的问题是,是否可以将 propel:build-sql 配置为就像我通过了 --add-drop-database mysqldump flag?

【问题讨论】:

propel:build --sql 为数据库中的每个表添加drop table if exists 语句。 寻找drop database if exists。正如您所说,drop table if exists 语句已经存在。 【参考方案1】:

不,这是不可能的。在运行 symfony/propel 命令之前删除/创建数据库是你的工作。

【讨论】:

恐怕你的权利。在执行symfony propel:build-sql 命令后,必须创建一个 bash 脚本来根据 data/sql/*.sql 文件的名称删除/创建数据库。

以上是关于Propel - propel:build-sql - 能够添加 CREATE DATABASE .. 如果不存在的主要内容,如果未能解决你的问题,请参考以下文章

php(propel)中的集合和数组有啥区别?

如何在普通主机账户上安装 Propel?

Propel - 检查列是不是为自动增量

Propel 1.6 从 Sybase 15.7 生成模式有一些麻烦

如何在 Propel 中应用 Mysql concat?

Propel: 由Node.js之父创建的JavaScript科学计算库