質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

解決済

Laravelでmigrateが行えない

naoki_m
naoki_m

総合スコア29

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

1回答

0グッド

0クリップ

17709閲覧

投稿2017/12/14 14:10

編集2017/12/15 10:25

###前提・実現したいこと
Laravelでmigrateを試みたところ、エラーが発生しました。
そのため、テーブルの作成がLaravelを通して行えません。
現在、テストで仮想環境ではなく、レンタルサーバー内でそのまま開発を行っていて、サーバーにはソースコードの二番目の内容で接続をしています。
ちなみに、初期からデフォルトで入っていたであろうmigrateとusersという二つのテーブルは作成されていました。
+--------------------------------+
| Tables_in_ 〇〇〇
+--------------------------------+
| migrations |
| users |
+--------------------------------+

ちなみに、Laravelで使うテーブルをsqlで直接作成した場合、何か面倒なことはありますでしょうか?

###発生している問題・エラーメッセージ

In Connection.php line 664: SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = 〇〇〇 and table_name = migrations) In Connector.php line 67: SQLSTATE[HY000] [2002] No such file or directory

###該当のソースコード

php

1/* 以下、ファイル名です。 2/private/var/folders/th/2jk5hrjd261499nb2rrlm7t80000gn/T/fz3temp-2/2017_12_14_011712_create_posts_table.php 3*/ 4<?php 5 6use Illuminate\Support\Facades\Schema; 7use Illuminate\Database\Schema\Blueprint; 8use Illuminate\Database\Migrations\Migration; 9 10class CreatePostsTable extends Migration 11{ 12 /** 13 * Run the migrations. 14 * 15 * @return void 16 */ 17 public function up() 18 { 19 Schema::create('posts', function (Blueprint $table) { 20 $table->increments('id'); 21 $table->string('title'); 22 $table->test('body'); 23 $table->timestamps(); 24 }); 25 } 26 27 /** 28 * Reverse the migrations. 29 * 30 * @return void 31 */ 32 public function down() 33 { 34 Schema::dropIfExists('posts'); 35 } 36} 37

PHP

1/*以下、ファイル名です。 2database.php 3*/ 4<?php 5 6return [ 7 8 /* 9 |-------------------------------------------------------------------------- 10 | Default Database Connection Name 11 |-------------------------------------------------------------------------- 12 | 13 | Here you may specify which of the database connections below you wish 14 | to use as your default connection for all database work. Of course 15 | you may use many connections at once using the Database library. 16 | 17 */ 18 19 'default' => env('DB_CONNECTION', 'mysql'), 20 21 /* 22 |-------------------------------------------------------------------------- 23 | Database Connections 24 |-------------------------------------------------------------------------- 25 | 26 | Here are each of the database connections setup for your application. 27 | Of course, examples of configuring each database platform that is 28 | supported by Laravel is shown below to make development simple. 29 | 30 | 31 | All database work in Laravel is done through the PHP PDO facilities 32 | so make sure you have the driver for your particular database of 33 | choice installed on your machine before you begin development. 34 | 35 */ 36 37 'connections' => [ 38 'mysql' => [ 39 'driver' => 'mysql', 40 'host' => env('DB_HOST', 'localhost'), 41 'port' => env('DB_PORT', '3306'), 42 'database' => env('DB_DATABASE', '〇〇〇'), 43 'username' => env('DB_USERNAME', '△△△'), 44 'password' => env('DB_PASSWORD', '□□□'), 45 'unix_socket' => env('DB_SOCKET', '/private/tmp/mysql.sock'), 46 'charset' => 'utf8', 47 'collation' => 'utf8mb4_unicode_ci', 48 'prefix' => '', 49 'strict' => true, 50 'engine' => 'InnoDB', 51 ], 52 ], 53 54 /* 55 |-------------------------------------------------------------------------- 56 | Migration Repository Table 57 |-------------------------------------------------------------------------- 58 | 59 | This table keeps track of all the migrations that have already run for 60 | your application. Using this information, we can determine which of 61 | the migrations on disk haven't actually been run in the database. 62 | 63 */ 64 65 'migrations' => 'migrations', 66 67 /* 68 |-------------------------------------------------------------------------- 69 | Redis Databases 70 |-------------------------------------------------------------------------- 71 | 72 | Redis is an open source, fast, and advanced key-value store that also 73 | provides a richer set of commands than a typical key-value systems 74 | such as APC or Memcached. Laravel makes it easy to dig right in. 75 | 76 */ 77 78 'redis' => [ 79 80 'client' => 'predis', 81 82 'default' => [ 83 'host' => env('REDIS_HOST', '127.0.0.1'), 84 'password' => env('REDIS_PASSWORD', null), 85 'port' => env('REDIS_PORT', 6379), 86 'database' => 0, 87 ], 88 89 ], 90 91]; 92
/* .env */ APP_NAME=Laravel APP_ENV=production APP_KEY= APP_DEBUG=true APP_LOG_LEVEL=debug APP_URL=https://〇〇 DB_CONNECTION=mysql DB_HOST=localhost DB_DATABASE=〇〇 DB_USERNAME=△△ DB_PASSWORD=□□ BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file SESSION_LIFETIME=120 QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER= MAIL_HOST= MAIL_PORT= MAIL_USERNAME= MAIL_PASSWORD= MAIL_ENCRYPTION= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET=
mysql> SHOW DATABASES; +----------------------+ | Database | +----------------------+ | information_schema | | 〇〇〇          | +----------------------+ 3 rows in set (0.00 sec)
Migration table created successfully. In Macroable.php line 96: Method test does not exist.

###試したこと
エラー個所を確認しましたが、如何せん、これが初めてのフレームワークなもので、理解が及びませんでした。
すでに,DBへのアクセスとクリエートテーブルは成功しているので、何が原因かわかりません。
初歩的な問題かもしれませんが、どうかよろしくお願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
Larval5.5
レンタルサーバー(Bluehost)を使用

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

asahina1979

2017/12/15 00:12

とりま、 `show databases` を発行して結果を質問に編集追記で多分 information_schema がでてこないはず
masaya_ohashi

2017/12/15 01:10 編集

一度laravelで使っているスキーマ内のテーブルをコンソール等からすべてDROPしてください。その後php artisan migrateを行ってみてください。migrationsというテーブルが出来ているということは、migrateは実行されているはずで、エラーが起きたのは途中のなにかが原因である可能性があります。
naoki_m

2017/12/15 08:03

>>asahina1979さん、この度はご助言ありがとうございます! information_shemaですが、出てきてしまいました。
naoki_m

2017/12/15 08:08

>>masaya_ohashiさん、この度はご助力ありがとうございます! ご指示の通り、全てドロップしてからphp artisan migrateを行いましたが、上記と同じエラーが発生して、今回はmigrationsも作成できませんでした
asahina1979

2017/12/15 08:10

出てくるが正解、レンタルサーバー事業者によりけりでたまにアクセスできないのがいるっぽいので・・・
naoki_m

2017/12/15 10:25

なるほど! ではそれは問題ないということですね。ありがとうございます!

回答1

1

ベストアンサー

投稿2017/12/15 08:07

masaya_ohashi

総合スコア9198

naoki_m👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

naoki_m

2017/12/15 10:24

ありがとうございます! 参考の記事から、unix_socketを編集して、無事にmigrateに成功しました! ……が、なぜか、migrationsだけは生成されたのですが、他のものは生成されませんでした。 エラーメッセージを追加いたしましたので、もし原因がお分かりであればご助力いただきたいです。
masaya_ohashi

2017/12/15 10:50

migrations以外1つも、ですか?database/migrationsディレクトリの中の「一番最初のファイル」はなんですか?2014_10_12_000000_create_users_table.phpではありませんか?このファイルを編集してしまった記憶はありますか?migrationファイルでasahina1979さんの指摘のように、$table->textのつもりで$table->testと書いている箇所はないですか? なお、私は土日返信はほぼないのであまり返答を期待しないでください。
naoki_m

2017/12/15 12:27

asahina1979さん、masaya_ohashiさん、ご回答ありがとうございます。 まさかタイポなんてと思っていましたが、見事にmasaya_ohashiさんのご指摘通り、$table->testとやってしまっていました……。 この度は、お二方とも、大変ありがとうございました! ものすごく感謝しております!!

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。