问题标签 [phinx]

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.

0 投票
1 回答
376 浏览

php - 我如何在 Phinx 中获取数据库名称?

我正在使用 Phinx 进行迁移。 https://github.com/cakephp/phinx

现在我想在迁移文件中的一些特殊查询中使用我的数据库名称,数据库名称是根据 phinx-config 文件中的环境指定的。

我在项目范围内发现了一些行

基于供应商\robmorgan\phinx\src\Phinx\Console\Command\Migrate.php

如果我启动命令,则会有一条消息将 cli 称为正确的数据库。我如何在迁移文件中使用这个 $envOptions?

我缺少像 getConfig() 这样的东西。

0 投票
1 回答
620 浏览

php - Phinx 迁移错误,“找不到类”但查找正确的文件?

我正在尝试使用 phinx 库为名为“Vokuro”的 Phalcon 框架示例项目运行数据库迁移,但出现此错误。文件目录是正确的,所以我不知道为什么会这样。

命令:

C:\xampp\htdocs\vokuro\db\migrations\20190825181051_create_email_confirmations.php:

C:\xampp\htdocs\vokuro\vendor\robmorgan\phinx\src\Phinx\Migration\Manager.php:

0 投票
1 回答
130 浏览

php - phinx "--configuration 选项不存在。"

菲尼克斯--configuration选项发生了什么?我工作中的一个项目依赖于它。

phinx docs:如果--configuration给出命令行选项,Phinx 将加载指定的文件。否则, ...

但是当我运行时:

也不--version返回版本号。

0 投票
2 回答
466 浏览

mysql - MySQL:如何查询复合主键?具体来说,一个 NOT IN 查询?

我有一张comment桌子和一张comment_edit桌子,还有olddb_edit。简化后,相关表如下所示:

现在我想将内容从另一个数据库迁移到编辑表中,但跳过一些表行,如测试评论。我正在为此使用 CakePHP(实际上是 Phinx)。

通常,这就足够了:

但是一个简单的NOT IN子句显然不适用于复合主键。

我在想,$skippable数组应该是这样的:

然后我将通过 for 循环或其他方式运行 where 子句。但老实说,我什至不知道如何在 vanilla-MySQL 中做到这一点。

可能已经在 SO 上发布了一个解决方案,但我找不到任何解决方案(除了特定于其他应用程序的解决方案)。我猜这个算法不是我的朋友。

0 投票
1 回答
324 浏览

php - 无法使用 phinx 添加外键约束

我正在尝试使用 phinx 添加几个相关的表。我创建了我的迁移:

但是当我运行迁移时,我收到一条错误消息,说它无法添加外键约束:

错误信息

我尝试了各种排列方式,包括在不同的迁移文件中创建子表、删除级联、显式取消对父表中的主键的签名。所有这些都给了我同样的错误。有些东西我没看到。

我正在使用 php 7.3 和 phinx 版本 0.12.1

有任何想法吗?

0 投票
1 回答
46 浏览

php - 如何为 Phinx 添加列字符变化(3)[]

如何character varying(3)[]使用他们的addColumnapi 使用 Phinx 类型添加列?

挖掘源代码似乎不是受支持的功能

0 投票
1 回答
61 浏览

phinx - Phinx 更改迁移不会再次创建表

我进行了一次迁移,创建了一个包含 2 列的表。运行迁移并且它有效。但我意识到我希望其中一列是不同的数据类型。我在我的数据库中删除了表,更改了迁移并再次运行它并且没有创建表?我尝试使用change()create()

0 投票
2 回答
265 浏览

sql-server - CakePHP 3:无法使用 MSSQL 驱动程序删除外键列

我尝试删除一个列,它是一个外键:

上面给出了数据库错误:The object 'users_province_id' is dependent on column 'province_id'。如果我尝试先删除 FK:

我犯了同样的错误。使用removeIndexByName

也不行。谢谢你的帮助。

0 投票
0 回答
214 浏览

digital-ocean - 在 DigitalOcean 中迁移时权限被拒绝

我正在使用 DigitalOcean 终端尝试运行 Phinx 迁移vendor/bin/phinx migrate -e development,但我收到错误“权限被拒绝”

我试过用不同的方式编写命令,我确保我的数据phinx.php是正确的。

我真的被卡住了,有人有这方面的经验吗?

完整命令:

错误:

-bash:供应商/bin/phinx:权限被拒绝

菲尼克斯.php:

0 投票
0 回答
278 浏览

php - Phinx 表已经存在?想增加 1 个额外的桌子

我对 phinx 很陌生,我进行了许多迁移并运行了创建应该具有的表的迁移。

但是我做了一个新的迁移来添加一个额外的表,现在如果我运行migrate -c phinx.php它会尝试重新添加已经存在的表。

有没有办法只添加一个迁移?因为我不想删除我的数据库并再次插入它们

这是我要添加的迁移