- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 phing 和 dbdeploy 为我的 mysql 数据库生成部署文件。
生成的 dbdeploy 文件的输出如下所示:
-- Fragment begins: 8 --
INSERT INTO changelog
(change_number, delta_set, start_dt, applied_by, description) VALUES (8, 'Main', NOW(), 'dbdeploy', '8-add_tracking_code.sql');
--//
ALTER TABLE `order` ADD `tracking_code` VARCHAR(255) NOT NULL;
UPDATE changelog
SET complete_dt = NOW()
WHERE change_number = 8
AND delta_set = 'Main';
-- Fragment ends: 8 --
问题是 ALTER 语句之前的 --//。数据库出现错误。如果我删除 --//孔文件是正确的。
这是我的 phing 构建脚本的一部分,您可以看到我是如何使用 dbdeploy 生成 .sql 文件的:
<target name="dbdeploy-migrate-all">
<!-- load the dbdeploy task -->
<taskdef name="dbdeploy" classname="phing.tasks.ext.dbdeploy.DbDeployTask"/>
<echo message="Loading deltas from ${build.dbdeploy.alters_dir}" />
<property name="build.dbdeploy.deployfile" value="${build.dbdeploy.deploy_dir}/deploy-${DSTAMP}${TSTAMP}.sql" />
<property name="build.dbdeploy.undofile" value="${build.dbdeploy.undo_dir}/undo-${DSTAMP}${TSTAMP}.sql" />
<!-- generate the deployment scripts -->
<dbdeploy
url="mysql:host=${db.host};dbname=${db.name}"
userid="${db.user}"
password="${db.pass}"
dir="${build.dbdeploy.alters_dir}"
outputfile="${build.dbdeploy.deployfile}"
undooutputfile="${build.dbdeploy.undofile}" />
<!-- execute the SQL - Use mysql command line to avoid trouble with large files or many statements and PDO -->
<property name="mysql.command" value="${progs.mysql} -h${db.host} -u${db.user} -p${db.pass} ${db.name} < ${build.dbdeploy.deployfile}" />
<echo message="Executing command: ${mysql.command}" />
<exec
command="${mysql.command}"
dir="${base.path}"
checkreturn="true" />
</target>
为什么 dbdeploy 会生成损坏的文件?
感谢您的帮助!
最佳答案
自问这个问题以来已经过去了很长时间,但是我遇到了同样的问题并且设法找出了 Niels 在这个问题上的来源。
我认为我们都遇到了问题,因为我们都遵循了 Dave Marshall 的流行教程 phing 和 dbdeploy:http://davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy.html
在他的示例 sql delat 文件中,他在顶部包含了 --//,如果替换为/* .... */格式的注释,则可以避免此问题!
所以我想说这是教程中的一个错误,现在已经有 8 年了。 Dave 在教程的顶部指出,大约 4 年前他转向了一种不同的方法,所以现在教程中出现一个错误是可以理解的!不过,我会提交评论请求更新,因为在搜索该主题时,他的页面是排名靠前的搜索结果,所以如果我们能为人们解决我们遇到的同样问题,那就太好了!
很遗憾 phing 没有以 SQL 异常的形式提供更详细的错误报告 - 有一个对 dbdeploy 脚本做出贡献的想法!
关于mysql - dbdeploy 错误 --//in deploy-file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18983810/
我们与 Phing 合作的 dbdeploy task做version control我们的 PostgreSQL 数据库,这完全是一种很好的工作方式。在我们开始使用它之后,我对数据库版本并没有太多问
我正在使用 phing 和 dbdeploy 为我的 mysql 数据库生成部署文件。 生成的 dbdeploy 文件的输出如下所示: -- Fragment begins: 8 -- INS
我正在使用 Phing的 dbdeploy task至 manage my database schema .这工作正常,只要在我的增量文件的查询中没有错误。 但是,如果出现错误,dbdeploy 将
我需要帮助为我的 SQL Server 数据库和 MySQL 服务器设置 dbdeploy。 dbdeploy网站中的示例没有告诉我如何设置SQL Server和MySQL的驱动程序。我有点失落。 示
我希望在使用 Hibernate 作为 ORM 并使用 Gradle 作为构建系统的 java 项目中使用像 DBdeploy 这样的版本化数据库迁移工具。我无法查找有关在 Gradle 上运行 DB
我是一名优秀的程序员,十分优秀!