问题标签 [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 回答
560 浏览

php - 可以在 php 中设置 phinx 使用的默认模式来创建 default_migration_table?

我在我的项目中使用phinx,我正在尝试更改 的架构 default_migration_table,如下所示:

但它失败了:

如果我phinxlog在其中创建表mySchema可以正常工作,但最好是 phinx 自动在我的模式中创建表。
是否有一些设置可以做到这一点?

0 投票
1 回答
354 浏览

mysql - Phinx 和 pt-online-schema-change

Phinx 是否支持 pt-online-schema-change?

我意识到 Phinx 应该处理数据库迁移。但是在实时环境中,ALTER TABLE对一个巨大的表运行一个简单的命令可能会导致表锁和临时服务不可用。

Percona Toolkit 中有一个名为的工具,pt-online-schema-change它可以通过创建临时表、复制数据和重新应用日志来处理模式迁移而无需任何停机时间。

有没有办法轻松集成这两者,以便从 Phinx 获得良好的数据库迁移管理,以及从 Percona Toolkit 获得生产零停机时间?有没有其他支持的数据库迁移管理工具pt-online-schema-change

0 投票
3 回答
3318 浏览

php - 使用 Phinx 添加外键

我正在尝试使用 Phinx 迁移将外键添加到表中。我的意图是创建一个表('sales_order_attachment')并添加两个外键。没有太多的 Phinx 文档,所以我还没有在互联网上或通过修补(还)找到答案。我在这里做错了什么?迁移指向的表和键都存在。

移民:

错误:

0 投票
1 回答
924 浏览

php - 如何将 phinx 迁移工具与 codeception 测试框架一起使用

我在客户端和服务器端 JavaScript 应用程序开发方面有一些经验。但是现在我在 php 上设计了我的第一个 Web 应用程序并寻找最好的开发工具堆栈。我使用 phinx 在测试、开发和生产环境之间共享我的数据库结构。我将使用 codeception 进行数据库操作测试。

问题是codeception期望我将创建表的sql命令放入tests/_data/dump.sql并删除我在phinx迁移文件中创建的所有表。我可以设置cleanup: falsecodeception.yml但在这种情况下,我必须在每次测试之前清理数据库表。我不知道怎么做。在每次代码接收测试之前,我发现没有手动清理数据库的能力。

我如何获得代码接收和菲尼克斯协调?

PS:我发现了关于在代码接收中使用迁移的讨论,似乎它的好处并不适合所有人。

0 投票
1 回答
4081 浏览

batch-file - 在 Windows 中创建别名

我有下面的命令。

有没有办法可以在 Windows 中简化它?我想创建一个快捷方式/别名,如下所示。

任何帮助,将不胜感激。

0 投票
1 回答
2416 浏览

mysql - cakephp3 中的迁移

我是 cakephp3 的新手。请参阅http://book.cakephp.org/3.0/en/migrations.html并尝试使用终端创建数据库。例如:

此命令创建文件,当使用以下命令时,它会在 phpmyadmin 中创建数据库表:

但是我想更新表并在其中添加一列..所以当我尝试更新数据库表时,它会创建另一个迁移文件..每次我想更新数据库表时..这些似乎很奇怪..因为我想更新单表..有什么办法,所以我每次通过迁移都更新具有相同功能的数据库表?

0 投票
1 回答
4368 浏览

php - CakePHP 3.x 数据库迁移插件:有没有办法更改表字段?

我试图弄清楚如何最好地使用 CakePHP Migrations 插件来修改 MySQL 表的现有列。我不需要添加或删除列,我只是想修改字符串列的长度。

目前该列被定义为varchar(50); 我正在重新利用该列并希望将其定义为varchar(2000).

迁移的目标是成为在典型 Web 服务器上安装标准 CakePHP Web 应用程序的自动化部署的一部分。

据我所知,使用迁移插件完成此任务的唯一方法(除了ALTER声明)似乎是:

  1. 重命名列
  2. 添加新列
  3. 将现有数据移动/复制到新列
  4. 删除旧列

也许我错过了文档和无数教程中的讨论,以及如何找到更好的方法来实现这一点,但这似乎是一种麻烦和自我挫败的方法。

我已经阅读了CakePHP Migration Plugin 的文档Phinx 的文档,但没有看到推荐的更改方法。我很感激对此的任何意见。

0 投票
2 回答
942 浏览

php - 在 Wamp 服务器上安装 Phinx

我想使用 wamp 服务器在我的项目中使用“Phinx”。我可以使用 cmd 安装:

遵循以下说明: http ://docs.phinx.org/en/latest/install.html

但是当我运行命令时:

输出是:

在此处输入图像描述

之后我的本地目录上没有安装 phinx.yml 文件

这是安装软件包时第一次遇到问题。有任何解决方案/建议吗?

0 投票
0 回答
911 浏览

php - 使用 Phinx 照亮 Laravel 外部的数据库以进行迁移

我正在做一个项目,我在 Laravel 4.2 之外使用 Illuminate 的数据库组件,并尝试使用 Phinx 从命令行进行迁移。我已经在 phinx.yml 文件中为生产、开发和本地设置了我的数据库环境,我将其命名为“vagrant”。当我尝试运行“php vendor/bin/phinx migrate -e vagrant”时,它返回说“无法确定数据库名称!请在配置文件中指定数据库名称。” 我已经多次尝试找出导致它的原因,数据库名称是正确的。有任何想法吗?

谢谢!

0 投票
1 回答
4581 浏览

cakephp - Biginteger auto_increment 主键 Phinx

我正在尝试使用 biginteger-primary 键创建迁移并将其切换到auto_increment

我正在使用robmorgans Phinx来创建迁移。

创建表后,是否可以将数据类型 BIINTEGER 的表的主键更改为 auto_incremented?

目前它看起来像这样。