問題タブ [artisan-migrate]
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.
mysql - Laravel の移行 (errno: 150 "外部キー制約の形式が正しくありません")
私は注文テーブルを持っており、外部としてsell_shipping_labels
参照しています。orders.id
ただし、Laravel の移行を実行すると、恐ろしいエラー コードが表示されます。
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: 一般エラー: 1005 テーブルを作成できませんcheapbooks_test
。#sql-b5b_b2a
(errno: 150 "外部キー制約の形式が正しくありません") (SQL: alter tablesell_shipping_labels
add constraint Foreign keysell_shipping_labels_order_id_foreign
(order_id
) referencesorders
(id
))[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[HY000]: 一般エラー: 1005 テーブルを作成できませんcheapbooks_test
。#sql-b5b_b2a
(エラー番号: 150 "外部キー制約の形式が正しくありません")
これは私のorders
テーブルスキーマです:
そして、これは私のsell_shipping_labels
スキーマです:
今、私は問題を理解しようとして、インターネットをひっくり返しました。この問題に関する投稿はすべて、外部キーを持つテーブルの前に注文テーブルを作成する必要があるという事実に言及していますが、ファイルが正しい順序になっているため、これは問題ではありません。
laravel - Facade.php 221 で、未定義のメソッド MySqlBuilder::defaultStringLenght() を呼び出す
Windowsコマンドプロンプトでは、一部のphp artisanコマンドと同じエラーが発生します
同じエラーが発生した場合、最新の Windows php バージョンがオプションになる可能性がありますが、それは私のクラスメートだけを助けました。i はすでにスタック オーバーフロー (未定義のメソッド Illuminate\Database\Schema\MySqlBuilder::defaultStringLength() への呼び出し) にあり、どちらも役に立ちませんでした。これは、ラップトップ (win7) とデスクトップ PC (win10) で同じように発生します。両方にlaravel5.5.28があります。
誰か提案はありますか?
laravel - laravel で移行を実行済みとしてマークする
移行に失敗したため、MySQL Workbench で手動でクエリを実行しました。
移行を完了としてマークする熟練したコマンドはありますか? そのため、将来の移行を実行するときに、実行する必要がないことがわかっている移行をスキップします。
このコマンドでそれらとそのステータスを一覧表示し、実行されたものと実行されていないものを確認できます。
おそらくコマンドがない場合は、データベース移行テーブルにエントリを手動で挿入できます。(ただし、現時点では移行はありません:P)
移行を削除することもできると思います。
laravel-5 - laravel php artisan migrateエラー(タイムアウト)
私はLaravel5.6を使用しています
コマンド「php artisan migrate」を使用すると、次のエラーが表示されます(1分後):
「Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] 操作がタイムアウトしました (SQL: select * from information_schema.tables where table_schema = MYDATABASE and table_name = migrations)」
.env と config/database.php で正しいデータベース構成をセットアップしました
データベース接続が機能することを確認しました: if(DB::connection()->getDatabaseName()) { echo "はい! DB に正常に接続されました: " . DB::connection()->getDatabaseName(); }
そして、それは機能します。
mysql でクエリを直接実行すると、引用符がないために機能しません。代わりに mysql でこれを実行すると動作します:
select * from information_schema.tables where table_schema = 'MYDATABASE' and table_name = 'migrations'
php artisanの問題は次のように思われます:「操作がタイムアウトしました」(ここで答えを探そうとしたときの通常の「ファイルが見つかりません」ではありません。
php artisan 移行の問題を解決する方法??? ありがとう!
php - [デフォルト] [Modules\Brokerquotes\Entities\Insuree] という名前のファクトリが見つかりません
私は間違いなく工場を持っています
そして、私が持っている DatabaseSeeder で
しかし、シーダークラスを直接呼び出そうとするとphp artisan db:seed --class=....
、サブジェクトエラーが発生します
[デフォルト] [Modules\Brokerquotes\Entities\Insuree] という名前のファクトリが見つかりません。
しようとしましcomposer dumpautoload
たが、まだ機能しません
時々、いくつかの個々のシーダーを実行する必要があります。
ここで何が間違っていますか??
laravel - artisan が、存在しないテーブルで "table already exists" という SQL をスローする理由
これは私の移行ファイルです
私が走ったときに作成されました
プロジェクトは問題なく書き込みおよび読み取りを行っているため、データベース接続は正しく構成されています。
プロジェクトのルートディレクトリから実行します
そして、次のエラーメッセージが表示されます
私は実行する必要があることを知っています
しかし、私はそれを使って試してみましたが、同じ結果が得られました。$table 引数の前にブループリント タイプも試しました。
プロジェクトを実行したときに使用するデータベースとは異なるデータベースにアクセスしているかのように動作します