1

Web アプリでの移行に 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

その後、停止し、何も起こりません...

誰でもこの問題で私を助けることができますか?

ありがとう、そしてご挨拶!

4

2 に答える 2

0

たぶん、いくつかの構成ヒックアップがあります。特定のホスト/ポート経由で到達できないmysqlデータベースに接続することで、この現象を知っています。これは常にタイムアウトにつながりますが、たとえば後にのみ発生します。60秒。

これを構成に書きました:

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

最初にホスト名からポートを削除します。 host: localhost port: 8889 次に、mysql サーバーが localhost / ポート 8889 で実際にリッスンしていることを確認します。

詳細については、phinx ドキュメントの「構成」の章を参照してください: http://docs.phinx.org/en/latest/configuration.html

よろしく

于 2016-01-20T11:26:51.347 に答える
0

MAMP のデフォルト設定を使用している場合、データベースのユーザー名は root になります。Phinx.yml の user の値を root に変更してみてください。

于 2016-04-07T12:52:08.300 に答える