问题标签 [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 投票
0 回答
66 浏览

mysql - 尝试在具有空值的列上添加外键约束

当我第一次创建表时,我能够在列上添加外键约束,并且我已经创建了接受空值的列。

但是现在表中有数据,具有空值的实际记录,似乎我无法在其中一列上添加外键约束,因为有空值。

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

这有点痛苦,看来我可能会放弃在此列上放回外键。

0 投票
0 回答
566 浏览

php - 更改表以在 Phinx 迁移中添加默认自动增量主键“id”

我在 Phinx 迁移中使用创建了一个表

现在在单独的迁移中,我想更改表并将该 id 值设置为 true 并将该 id 作为主键(默认行为)。并将validation_id 作为唯一索引。

我知道如何通过先删除表并创建新表来做到这一点。但我不想放弃桌子,只是改变它。如何更改表以添加回自动增量默认 id 列?

0 投票
1 回答
111 浏览

ssl - 无法使用 CakePHP 3.8 在 GCP 上运行迁移

我正在尝试在 GCP“计算引擎”VM 上设置我的 CakePHP 3.8 项目。

我已将 app.php 设置为使用以下数据库配置:

当我尝试运行迁移时,我的问题发生了。该站点在上述配置下运行良好,但是,如果我运行

我收到一系列错误,说它无法连接,user@host 的访问被拒绝。

如果我添加

我收到一个错误:

原因:[PDOException] PDO::__construct(): Peer certificate CN=`gcpname:gcpserver' 与 /var/www/mydomain.com/vendor/robmorgan/phinx/src 中的预期 CN=`111.111.111.111' 不匹配/Phinx/Db/Adapter/PdoAdapter.php 在第 79 行

0 投票
1 回答
108 浏览

php - 如何在 Phinx 迁移中为 MySQL 浮点列设置比例和精度

我在当前 MySQL 表中有一列具有定义float(3,2),我需要将其扩展为float(4,2). 如何使用 Phinx (CakePHP) 迁移列规范执行此操作?

0 投票
0 回答
31 浏览

cakephp - 烘焙迁移快照时如何包含索引名称?

当我执行以下代码时:

bin/cake bake migration_snapshot InitialMigration

它不包括索引名称。

在 CakePHP 4 中烘焙迁移快照时如何包含索引名称?

0 投票
0 回答
281 浏览

php - 使用 phinx php 进行数据库迁移

我有这个迁移但是

收到错误:

SQLSTATE [42S21]:列已存在:1060 列名“from_time”重复

当我在我的开发数据库上进行此迁移时,它可以工作,没有问题,但是在迁移我的生产数据库时,它无法迁移,我不知道这个问题的根本原因,因为我没有重复的列此外,在我的迁移中,我的数据库中没有这样的表及其列。

我用来进行迁移的工具版本:

  • php - 5.6.40
  • 作曲家 - 1.6.3
  • phinx - CakePHP 的 Phinx - https://phinx.org。0.9.2
0 投票
0 回答
56 浏览

php-7.4 - 从迁移文件运行 Phinx 种子

我正在编写一组安装应用程序数据库并插入种子的 Phinx 迁移。我的前 4 个迁移文件分别构建了数据库模式(带有外键约束)、触发器、函数和存储过程。我想使用第 5 个迁移文件来执行所有种子,以便此后的每个迁移文件都可以使用种子数据。

我想要一个从 Phinx 迁移文件的 up 方法内部运行所有应用程序种子的示例。

0 投票
0 回答
85 浏览

php - 如何在 CakePHP Phinx 迁移中将具有约束(外键)的现有列修改为 NULL true

以前使用此列创建的表:

我想将 dictionary_id 设为可选(可为空)。

由于现有的外键,Phinx 不允许我修改该列,所以我试图删除它,修改该列,然后再次添加外键:

但我得到:

Exception: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint in ...

我该如何克服这个问题?