[mac] Laravel 설치하고 database migration 하기

지수토리·2021년 8월 24일
0
post-thumbnail

1. composer 설치

> php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

> ls
composer-setup.php

> php composer-setup.php
All settings correct for using Composer
Downloading...

Composer (version 2.1.6) successfully installed to: /Users/yeojisu/composer.phar
Use it: php composer.phar

> ls
composer-setup.php 
composer.phar 

> php -r "unlink('composer-setup.php');"

> ls
composer.phar

> composer
zsh: command not found: composer

>./composer.phar
==> composer가 실행됨.

> sudo mv composer.phar /usr/local/bin/composer
Password:

> composer
==>  composer가 실행됨. 

2. 라라벨 설치

컴포저를 사용해 라라벨 인스톨러를 다운로드

> composer global require laravel/installer

컴포저의 create-project 커멘드를 사용해 라라벨을 설치

> cd Documents
> composer create-project --prefer-dist laravel/laravel blueberry

PHP에 내장된 개발 서버를 사용하여 애플리케이션을 구동

> php artisan serve

http://127.0.0.1:8000/

라라벨 Jetstream 설치

Jetstream은 로그인, 가입, 이메일 인증, 2차 인증, 세션 관리, 라라벨 Sanctum을 통한 API 지원, 그리고 선택적인 팀 관리 기능을 통해 당신의 새로운 프로젝트를 위한 완벽한 시작지점을 제공합니다.

> composer require laravel/jetstream

Laravel의 laravel/jetstream 패키지는 몇 가지 간단한 명령을 사용하여 인증에 필요한 모든 경로, view 및 기타 백엔드 로직을 스캐폴딩하는 빠른 방법을 제공합니다.

> php artisan jetstream:install livewire

NPM 종속성 설치

> npm install
> npm run dev

3. database 생성

mysql에 database 생성하기

mysql 설치하기

> mysql -u root -p 
mysql에 접속 !!!

mysql> create database laravel_api;
Query OK, 1 row affected (0.00 sec)

mysql> use laravel_api;
Database changed

mysql> select database();
+-------------+
| database()  |
+-------------+
| laravel_api |
+-------------+
1 row in set (0.00 sec)

mysql> show tables;
Empty set (0.00 sec)

라라벨 프로젝트에서 해당 database 사용하기

라라벨 프로젝트 폴더 vscode로 열기

.env 파일에서 mysql의 데이터베이스 정보가 올바르게 입력되었는지 확인하기

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_api
DB_USERNAME=root
DB_PASSWORD=비밀번호 입력

config 폴더의 database.php 파일에서 'mysql' 의 collation 설정을 바꿔서 인코딩 문제가 발생하지 않도록 대비

'collation' => 'utf8mb4_general_ci',

4. database migration

데이터베이스 마이그레이션


> php artisan migrate
> php artisan migrate:reset
> php artisan migrate

이후 php artisan serve 후 브라우저에 접속했더니
⛔️ 에러 발생
SQLSTATE[HY000][2054] The server requested authentication method unknown to the client
==> MySQL 8.X 버전 인증 오류였다. 아래와 같이 해결한다!

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비번 입력';
Query OK, 0 rows affected (0.01 sec)

5. 데이터 생성하기

  1. 우선 examples라는 새로운 migration 파일 생성하기
    > php artisan make:migration create_examples_table
    migrations 폴더안에 날짜+ create_examples_table.php 파일이 생성된다.

  2. examples 테이블 안에 name이라는 칼럼 추가 하기
    php artisan make:migration add_name_to_examples_table
    또는 migrations 폴더내의 파일들에서 추가 가능

0개의 댓글