問題タブ [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.
cakephp-3.0 - CakePHP 3 移行に列挙型がありません
質問があります;
ENUM
特定のフィールドがデータ型の場合、移行スクリプトが自動的に文字列またはテキストに変換するCakePHP 3 移行ツールを使用してテーブルを移行した経験のある人はいますか?
どうすればそれを回避でき、どのようにデータ型を維持できENUM
ますか?
ありがとう
php - php7.0 へのアップグレード後に Phinx シードが実行されない
私は正常に動作していた Phinx の種をたくさん持っています
私の種はvar/www/html/db/seeds
フォルダにあります
最近、VM を php 7.0 にアップグレードしました (16.04 LTS ボックスにもアップグレードしました)。phinx シードを実行しようとすると、次の出力とエラーが表示されます。
繰り返しますが、シードは問題なく動作し、php 7.0 にアップグレードされましたが、現在は動作していません。
ただし、移行は引き続き完全に正常に実行されます。
すべてのシード バー 1 を削除しました。
でデバッグすると、同じエラーが発生します。
symfony - TYPO3 Composer の依存関係の競合
簡単に説明します。
composerがインストールされたTYPO3があります。
TYPO3 の require 部分を見てみましょう。
ご覧のとおり、TYPO3 には "symfony/console": "~2.7.0" が必要です。つまり、(>=2.7 <= 2.8)
次に、カスタム CakePHP パーツの移行プラグインを使用して CakePHP を実行します。
データベース移行プラグインの require 部分も見てみましょう。
一見すると何も問題はありませんが、詳しく見てみましょう。"robmorgan/phinx": "0.5.3" を詳しく見てみましょう。このプラグインには次のパッケージが必要です。もう一度、「phinx」の composer.json を詳しく見てみましょう。
そして、ご覧のとおり、このパッケージには少なくとも 2.8 で「symfony/console」が必要ですが、TYPO3 が「~2.7.0」でそれを必要とするため、機能しません。つまり、(>=2.7 <= 2.8)。
私は問題を理解しましたが、それを解決する方法がわかりません。解決策は 1 つしかありませんが、それほど素晴らしいものではありません。TYPO3 をフォークして composer.json を編集することです。しかし、それは最後の選択肢です。
これを修正する方法について他の誰かが良いアプローチを持っていますか?
php - Phinx - PHP アプリのデータベース移行 - postgreSQL スキーマが機能しない
データベースの移行には Phinx を使用しています。
私の場合、PostgreSQL スキーマでは機能しません (例test.table )。
ヒットphinx migrate
するとエラーが発生します。そのための解決策はありますか?
私のエラーは次のとおりです。
エラー: 構文エラーまたは "." 内
Phinx はtable
メソッドでドット表記をサポートしていますか?
cakephp - Cakephp でマイグレーションを使用して外部キーを作成するにはどうすればよいですか?
テーブル「製品」と「間隔」テーブルがあります。テーブル「products」には、テーブル「intervals」の ID への外部キーを作成する必要がある「intervals_id」という列があります。
私はそれを使用していますが、機能していません:
私は何か間違ったことをしていますか?
php - 複数のアプリのブートストラップでカスタマイズされた Phinx Symfony コマンド
Phinx を使用して、複数のサーバー上の数百のアプリケーションにわたって移行を実行しています。すべてのアプリケーションは同じ移行を実行する必要があります。
これを行うには、ブートストラップ プロセス (applicationId に基づいて行われます) を実行するために必要なすべての構成とその他の情報を認識している中央サーバーにアプリのインスタンスがあります。
その中央インスタンス ( adminappと呼びましょう) はコマンドを実行し、STDIN を介して applicationIds を受け取り、アプリケーションをブートストラップして移行コマンドを実行するループを実行します。
Phinx は、その構成が構成ファイルの形式で存在することを期待しています。私がやろうとしているのは、DB 接続リソース (PDO) を再利用Phinx\Console\Command\Migrate
し、その場で Phinx コマンドに db 名と共に渡すことです。
Phinx のドキュメントで、これは PHP 構成ファイルのオプションであることがわかりましたが、その場で (Phinx\Console\Command\Migrate
クラスの初期化中に) これを行う方法が見つかりません。
Phinx doc は次のことを提案しています。
PDO接続リソースとデータベース名を渡す恐ろしいハッキングなしの方法はありますか\Phinx\Console\Command\Migrate