问题标签 [sqitch]
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.
sqitch - sqitch:跨多个环境部署更改
在查看 sqitch 文档时,有一种情况我无法立即理解如何处理。
可能像许多组织一样,我们在它们进入生产之前通过几个环境进行更改。在我们的情况下,我们在每个环境的不同 Oracle 服务器上都有不同的 DBA 用户,每个用户都有自己的凭据。
据我了解,sqitch 使用数据库表来跟踪对服务器应用了哪些更改。也许我很笨,但它只是没有让我跳出来,sqitch 如何告诉我更改是否已应用于 UAT 服务器,但尚未应用于生产服务器。
所以基本上,我想组织一个存储库来将更改从一个数据库环境移动到下一个环境。这可能是“sqitch target”和计划文件的用途吗?有我可以看的例子吗?
postgresql - 部署不同分支时管理 Sqitch 迁移
当我们使用 Sqitch 部署到我们的测试环境时,迁移运行并且一切正常。但是,当我们必须测试不同的代码分支时,Sqitch 迁移不会回滚。我正在寻找的是其他人如何解决这个问题的想法。例如,如果我有一个创建 table 的迁移my_table
,然后从不同的分支部署迁移,Sqitch 会感到困惑而无法继续前进。
分支更改的原因:我们有使用develop
分支的功能,并且正在应用修补程序master
(我知道;我们将更改它)。交换来测试一个修补程序导致了所有这些混乱。
我们考虑让 Jenkins 作业来运行 asqitch revert
并让用户提供要回滚的迁移,但我们希望消除手动步骤。
必须切换代码分支时如何管理迁移?
postgresql - 使用 Sqitch 迁移的数据库播种
我有一组创建表和函数等的 Sqitch 迁移。但是,我还需要使用我的应用程序所需的基本数据集为我的数据库播种。
但是,有些种子需要来自之前创建的种子的 ID。例如,我有一个创建帖子的函数和一个评论函数,在我创建帖子之后,我需要创建引用帖子 ID 的评论。
我的post_create
功能如下所示:
我的comment_create
功能看起来很相似,像这样:
我的种子迁移基本上是一个空白的 Sqitch 迁移:
但是,我无法弄清楚使其正常工作的语法。
如何让我的 Sqitch 迁移脚本调用函数并在调用其他函数时将结果用作输入?
sqitch - 将更改部署到 azure 时,sqitch deploy 命令失败
嗨,伙计们,我正在尝试将部署命令应用于托管在 azure 上的数据库。不过,我收到以下错误:
我也试过
3
我想问一下你是否有任何关于如何解决这个问题的提示。谢谢!
仅供参考,我正在使用托管在 azure 上的 ubuntu linux VM 来运行我安装 sqitch 的命令,sqitch 在本地工作。
windows - 在 Strawberry Perl 上安装 Sqitch 失败
我正在尝试按照此处的步骤在 Strawberry Perl(Windows 10)上安装 Sqitch,但失败了:
我不确定为什么会遇到这两个问题:
- '--nosuchscript.ply--' 未被识别为内部或外部命令
- 有 0 个参数,但 _check_set_locale_params 至少需要 1 个参数
我需要采取哪些步骤来修复它们?谢谢你。
postgresql - 数据库 db:pg://postgres@/postgres 尚未为 Sqitch 初始化
当我尝试将 sqitch 链接到 postgres 本地数据库时,它返回此问题 Database db:pg://postgres@/postgres has not been initialized for Sqitch with command sqitch log -u postgres
sqitch - 如何降级 Sqitch?
我在 Windows 10 机器上运行 Sqitch。使用 mysql 8.0.19。我最初使用 Strawberry Perl 安装了 Sqitch。
每次我尝试运行验证脚本时,验证脚本都会失败。每次我的同事在装有 Sqitch .9999 的机器上运行相同的验证脚本时,它都能完美运行。
我们都试图诊断这个问题,并且我们已经能够将其缩小为一个问题。因为除了我们运行的 Sqitch 版本之外,我们的设置都是相同的。我正在使用最新版本的 Sqitch 1.1.0。
降级 CPAN 模块最安全的方法是什么?我试过用;
我也试图强制安装。没有运气。
尝试运行上述命令时出现的错误;
请注意,我提供的示例适用于 V1.0.0。在我将其报告为错误之前,我尝试查看该错误是否存在于 1.0.0 中。
谢谢。
postgresql - Sqitch 无法连接到正在运行的 Postgres 实例
sqitch status
我在 OSX 上有一个 Postgres 9.6 实例,该实例已启动并正在运行,但是当我在工作目录中尝试使用以下命令时,Sqitch 会引发以下错误sqitch.conf
:
这很奇怪,因为我已经通过检查其状态并直接登录来检查 Postgres 是否正在运行:
这似乎只是一个问题sqitch
。
有关更多详细信息,此 Postgres 是通过安装brew install postgresql@9.6
并位于默认目录中的:
关于 Sqitch,我尝试过使用 Homebrew 安装和使用 Docker(我目前的方法)。docker install 基于官方说明:
我也尝试过psql
明确设置sqitch config --user engine.pg.client /usr/local/opt/postgresql@9.6/bin/psql
sqitch
无论如何,我仍然可以通过任何命令获得以下信息:
我不确定我缺少什么并且可以使用一些输入。提前致谢。
postgresql - 将注册表添加到 db:pg:staff "C:/Program Files/PostgreSQL/12/bin/psql" 无法启动
当我尝试使用 sqitch 部署我的 postgres 数据库时,我遇到了将注册表添加到 db:pg:staff 的问题:
C:/Program Files/PostgreSQL/12/bin/psql”启动失败:“文件名、目录名或卷标语法不正确”
但是我的 psql 在这个路径C:\Program Files\pgsql\bin。我应该在哪里更改此路径,在环境变量中添加了 psql 命令