#目的
Laravelアプリを新規作成する時にやり方をよく忘れるのでメモしました。
##環境
MacOS Catalina
インストール:Laravel 5.7 / composer / mysql 5.7 / Sequel Pro / git / github desktop / github登録
##プロジェクトの新規作成
プロジェクト名、バージョンを指定しつつ、作りたいフォルダに移動した後に下記コマンドを実行します。
サーバーを起動してサイトが表示されるかを確認します。
# 新規作成
$ composer create-project laravel/laravel プロジェクト名 --prefer-dist "5.7.*"
# バージョン確認
$ php artisan -v
# サーバー起動
$ php artisan serve
##MySQLへの接続
下記を行うには、予めmysqlでパスワードの設定等をしておく必要があります。
# MySQLへログイン
$ mysql -u root -p;
# データベース一覧を確認
mysql$ SHOW DATABASES;
# データベースを作成
mysql$ CREATE DATABASE `データベース名`;
mysql$ USE データベース名;
mysql$ SHOW TABLES;
mysql$ exit
GitHubで管理
# 作成したプロジェクトのディレクトリで下記を実行。gitを初期化
git init
上記を実行後、GitHub Desktopアプリで"Add Existing Repository"から追加してmasterへpush
##プロジェクトの設定ファイルを編集
.envファイルの下記箇所を編集
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=データベース名 #変更
DB_USERNAME=root #変更
DB_PASSWORD=secret #変更
上記を変更したあとは、キャッシュをクリアする
php artisan config:cache
##マイグレーションを実行
php artisan migrate
下記エラーが出ることがあります。emailのバリデーションを指定しないといけないみたいです。
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `password_resets` add index `password_resets_email_index`(`email`))
一旦、作成したテーブルをsequel proで削除し、下記のようにマイグレーションファイルを変更し、再度マイグレーションを実行すればOKです。
変更するファイル
- password_resets_table.php
- users_table.php
# before
table->string('email')->index();
# after
table->string('email', 50)->index();
ここまでで、アプリの新規作成とデータベースを使う準備が完了しました。お疲れ様でした!