問題タブ [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.

0 投票する
21 に答える
75162 参照

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 table sell_shipping_labelsadd constraint Foreign key sell_shipping_labels_order_id_foreign( order_id) references orders( id))

[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[HY000]: 一般エラー: 1005 テーブルを作成できませんcheapbooks_test#sql-b5b_b2a(エラー番号: 150 "外部キー制約の形式が正しくありません")

これは私のordersテーブルスキーマです:

そして、これは私のsell_shipping_labelsスキーマです:

今、私は問題を理解しようとして、インターネットをひっくり返しました。この問題に関する投稿はすべて、外部キーを持つテーブルの前に注文テーブルを作成する必要があるという事実に言及してますが、ファイルが正しい順序になっているため、これは問題ではありません。

0 投票する
2 に答える
949 参照

laravel - Facade.php 221 で、未定義のメソッド MySqlBuilder::defaultStringLenght() を呼び出す

Windowsコマンドプロンプトでは、一部のphp artisanコマンドと同じエラーが発生します

同じエラーが発生した場合、最新の Windows php バージョンがオプションになる可能性がありますが、それは私のクラスメートだけを助けました。i はすでにスタック オーバーフロー (未定義のメソッド Illuminate\Database\Schema\MySqlBuilder::defaultStringLength() への呼び出し) にあり、どちらも役に立ちませんでした。これは、ラップトップ (win7) とデスクトップ PC (win10) で同じように発生します。両方にlaravel5.5.28があります。

誰か提案はありますか?

0 投票する
4 に答える
3899 参照

laravel - laravel で移行を実行済みとしてマークする

移行に失敗したため、MySQL Workbench で手動でクエリを実行しました。

移行を完了としてマークする熟練したコマンドはありますか? そのため、将来の移行を実行するときに、実行する必要がないことがわかっている移行をスキップします。

このコマンドでそれらとそのステータスを一覧表示し、実行されたものと実行されていないものを確認できます。

おそらくコマンドがない場合は、データベース移行テーブルにエントリを手動で挿入できます。(ただし、現時点では移行はありません:P)

移行を削除することもできると思います。

0 投票する
1 に答える
6232 参照

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 移行の問題を解決する方法??? ありがとう!


0 投票する
2 に答える
143 参照

php - [デフォルト] [Modules\Brokerquotes\Entities\Insuree] という名前のファクトリが見つかりません

私は間違いなく工場を持っています

そして、私が持っている DatabaseSeeder で

しかし、シーダークラスを直接呼び出そうとするとphp artisan db:seed --class=....、サブジェクトエラーが発生します

[デフォルト] [Modules\Brokerquotes\Entities\Insuree] という名前のファクトリが見つかりません。

しようとしましcomposer dumpautoloadたが、まだ機能しません

時々、いくつかの個々のシーダーを実行する必要があります。

ここで何が間違っていますか??

0 投票する
1 に答える
412 参照

laravel - artisan が、存在しないテーブルで "table already exists" という SQL をスローする理由

これは私の移行ファイルです

私が走ったときに作成されました

プロジェクトは問題なく書き込みおよび読み取りを行っているため、データベース接続は正しく構成されています。

プロジェクトのルートディレクトリから実行します

そして、次のエラーメッセージが表示されます

私は実行する必要があることを知っています

しかし、私はそれを使って試してみましたが、同じ結果が得られました。$table 引数の前にブループリント タイプも試しました。

プロジェクトを実行したときに使用するデータベースとは異なるデータベースにアクセスしているかのように動作します