问题标签 [dbdeploy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - dbdeploy 错误与 --// 在部署文件
我正在使用 phing 和 dbdeploy 为我的 mysql 数据库生成部署文件。
生成的 dbdeploy 文件的输出如下所示:
问题是 --// 在 ALTER 语句之前。数据库出现错误。如果我删除 --// 孔文件是正确的。
这是我的一段 phing 构建脚本,以便您可以看到我是如何使用 dbdeploy 生成 .sql 文件的:
为什么 dbdeploy 会生成损坏的文件?
感谢您的帮助!
php - 如何使用数据库重构软件保持重构的顺序?
我一直在尝试使用Liquibase或DBDeploy。我更喜欢 Liquibase,因为它的非 SQL 接口(即我可以只使用 JSON 或 Yaml 变更集)。但是,这两个软件都有一个问题。
Liquibase 工作流程
- 我创建了一个主变更日志。它所做的只是
includeAll
一个文件夹,其中包含带有小变更集的小文件。 - 然后我创建变更集,并在它们前面加上一个数字(例如时间戳,或简单的整数,如 1、2 等)。
DBDeploy 工作流程
- 我刚开始制作 delta sql 文件,前缀与上面的数字 2 相同。
问题
好吧,这个问题是如此微不足道,我觉得问它很愚蠢,但它就在这里。考虑这种情况:
- 我创建了一个分支来处理我的功能,比如向系统添加订单。
- 我的同事 Bob 创建了自己的分支来向系统添加产品。
- 当需要合并时,不知道谁的变更集或增量 sql 将首先运行。这可能会破坏数据库。
这不会发生在任何人身上吗?如果是这样,在PHP领域解决它的方法是什么?
谢谢。
function - 无法通过 dbdeploy 为 postgres db 创建触发器
尝试通过 dbdeploy 在 postgres 上创建触发器时出现以下错误。这个问题似乎是一个 postgres jdbc 问题,而不是 dbdeploy。在 sql 块中的第一个分号之后似乎忽略了 sql 语句。感谢您对解决此问题的任何帮助。
sql 字符串(通过 pgAdmin 完美运行):
错误:
database - 如何处理来自不同 Git 功能分支的多个 db alter 脚本?
描述起来有点复杂,但我会尽力而为。基本上我们使用的是 Git 工作流程,这意味着我们有以下分支:
- 生产,这是现场分支。一切都是生产在实时网络环境中运行。
- 集成,其中集成了所有新功能。这个分支每周都会合并到生产环境中。
- 一个或多个功能分支,开发人员或开发团队在其中开发新功能。完成此操作后,开发人员将他们的功能分支合并到集成中。
所以,这里没有什么复杂的。但是,由于我们的应用程序是针对 MySQL 数据库运行的 Web 应用程序,因此新功能通常需要更改数据库方案。为了自动化这个,我们使用 dbdeploy,它允许我们创建改变脚本,给定一个数字。例如 00001.sql、00002.sql 等。在合并到集成分支后,dbdeploy 将检查哪些更改脚本的编号高于该特定数据库上最新执行的脚本,并将执行这些脚本。
现在假设如下。- 集成在 00200.sql 之前有更改脚本。所有这些都在集成数据库上执行。- 开发人员 John 有一个功能分支 featureX,它是在集成仍将 00199.sql 作为最高更改脚本时创建的。
由于一些必需的数据库架构更改,John 创建了 00200.sql。
现在,在某个时候,John 会将他的修改合并回集成分支。John 会遇到合并冲突,并且会看到他的 00200.sql 已经存在于集成中。这意味着他需要打开有冲突的文件,提取他的内容,将该文件重置回“我的”(集成中的原始状态)并将他自己的内容放入一个新文件中。
现在,由于我们与十名开发人员合作,我们每天都会遇到这种情况。虽然我们确实了解这背后的原因,但有时非常麻烦。John 重命名他的脚本,对集成进行合并提交,将更改推送到上游,只是看到其他人已经创建了 00201.sql,要求 John 再次执行这些过程。
肯定会有更多的团队使用 Git 工作流程并使用数据库更改管理工具来自动化数据库架构更改吗?
所以,简而言之,我的问题是:
- 当在不同的功能分支上工作时,如何自动化数据库模式更改,这些分支在同一数据库的不同实例上运行?
- 如何始终防止合并冲突,同时仍然可以选择在执行的更改脚本中具有固定顺序?例如,00199.sql 必须在 00200.sql 之前执行,因为 00200.sql 可能取决于 00199.sql 中所做的某些事情。
当然,任何其他提示都是最受欢迎的。
azure - 升级 SQL Azure DB 的最佳实践?
我正在尝试在连续发布方案中升级 Azure DB。该数据库位于 SQL Azure 中,并且其大小不断增长。现在大约> 50G。在我之前的本地部署经验中,我通常以压缩格式备份旧数据库并将其保存到本地文件服务器。如果升级失败,我可以安全地恢复它。
但是对于 SQL Azure,我不确定从 SQL Azure 下载这么大的数据库是否可以。SQL Azure DB 升级方案是否有任何最佳实践?
添加
我找到了这个关于不同 SQL Azure 备份策略的链接。但是,如果有人可以分享一些现场经验,那就太好了。
sql-server-2012 - 无法在安装了 SQL Server 2012 的 Windows Server 2012 上使用 msbuild 运行 dbdeploy 组件
我正在尝试在安装了 SQL Server 2012 的 Windows Server 2012 上使用 MSBuild 运行 dbdeploy 组件。
在运行 msbuild 脚本时,我收到以下错误:
上面的脚本在我的开发框和安装了 SQL SERVER 2008 R2 的框(Windows Server 2008 R2)上运行良好。一旦我尝试在安装了 SQL SERVER 2012 的新机器上对其进行测试,问题就开始了。
谁能帮我解决这个问题?
azure-sql-database - 如何管理在 sql azure 上管理的数据库的架构、表、存储过程和其他数据库对象的升级
我已使用 SSMS 将本地数据库迁移到 Azure SQL 数据库。对于表、存储过程等数据库对象所需的任何升级,我将使用 SSMS 连接回 SQL Azure 并手动执行更改脚本。
对于本地数据库,我使用 DbDeploy.net 2 来自动执行 sql 更改。
DbDeploy.net 2 也支持 SQL Azure 数据库。
对于 SQL Azure 数据库,管理 sql 更改部署自动化的最佳方法是什么。
反正有没有在这里利用 VSTS。
谁能帮我解决这个问题?
oracle11g - dbDeploy.net 使用 powershell 实现 oracle 数据库部署自动化
我正在寻找用于 Oracle 数据库部署自动化的 dbDeploy.net 示例实现。我能够找到 github 资源:https ://github.com/brunomlopes/dbdeploy.net
但是没有提到关于如何使用 powershell 实现它的例子。任何人都可以帮我提供一些有关示例实施的指导。
谢谢,桑托什
sql-server - 重命名 TFS 中时间表的列名或列数据类型时出现错误
我正在使用 Visual Studio Enterprise 2017(版本:15.71.1)和 SSDT(版本:15.1.61804.210),还使用 TFS 来保存我的代码。在我的数据库项目中,所有表都是临时表。
现在,当我在 TFS 中更改列类型或列名时,我无法构建我的项目,因此无法生成发布脚本。
我收到错误: 错误 SQL71609:系统版本化的当前和历史表没有匹配的架构。不匹配的列:“XXXXXX”
我们对此有什么解决方案吗?
sql-server - 如何从脚本文件创建 DacPac 以自动化数据库部署?
我需要使用 Azure DevOps 自动化 SQL Server DB 部署。我不想给出任何改变声明。我将在存储库中有一个包含表、存储过程、视图和函数的文件夹结构。每个文件夹将只包含创建脚本。除了使用该文件夹结构的 DacPac 部署之外,是否可以使用该文件夹结构或任何其他方式创建 DacPac 文件?
注意:我不想使用 Visual Studio 创建数据库项目。而且我不想直接从 SQL Server Management Studio 创建 DacPac 文件并将其签入源代码控制。而且我无法支付许可证费用。