1

我在我的网络应用程序中使用 phinx 进行迁移。

我的 phinx.yml:

paths:
    migrations: %%PHINX_CONFIG_DIR%%/migrations

environments:
    default_migration_table: app_migrations
    default_database: app_database        
    development:
        adapter: mysql
        host: localhost:8888
        name: app_database
        user: ''
        pass: ''
        port:8889

我有运行端口 apache:8888 和 mysql:8889 的 mamp。

数据库 app_database 确实存在。

表 app_migrations 不存在(迁移时会创建它吗?)

我已经创建了一些迁移,现在我尝试运行它们:

php vendor/bin/phinx migrate -e development

控制台输出:

Phinx by Rob Morgan - https://phinx.org. version 0.5.1

using config file ./phinx.yml
using config parser yaml
using migration path /path/to/directory/migrations
using environment development
using adapter mysql
using database app_database

然后它停止了,没有任何反应......

有人可以帮我解决这个问题吗?

Thanskj 和问候!

4

2 回答 2

0

也许有一些配置-hickup。我知道这种现象是从连接到无法通过特定主机/端口访问的 mysql 数据库。这总是导致超时,但仅在例如之后。60 秒。

你在你的配置中写了这个:

host: localhost:8888 [...] port: 8889

首先从主机名中删除端口: host: localhost port: 8889 然后验证 mysql-server 是否真的在监听 localhost / 端口 8889。

您可以在 phinx 文档的“配置”章节中找到更多信息:http: //docs.phinx.org/en/latest/configuration.html

问候

于 2016-01-20T11:26:51.347 回答
0

如果您使用 MAMP 的默认设置,则数据库的用户名将是 root。尝试将 phinx.yml 中的用户值更改为 root。

于 2016-04-07T12:52:08.300 回答