일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Gradle
- 요리
- IntelliJ
- it
- elasticsearch
- Spring Boot
- Git
- 맛집
- ubuntu
- springboot
- AWS
- tool
- java
- db
- devops
- Design Patterns
- Spring
- jsp
- laravel
- redis
- php
- Oracle
- jenkins
- MySQL
- linux
- Spring Batch
- ReactJS
- javascript
- Web Server
- JVM
- Today
- Total
아무거나
마이그레이션 본문
[마이그레이션]
1. 마이그레이션 생성(default:user관련)
php artisan migrate 명령실행시에
table 에 migrations, password_resets, users 가 생성되면 제대로 된거다.
* 만약 Syntax error or access violation: 1071 Specified key was too long 라는 에러가 뜬다면 설정 문제이므로
- app/providers/AppServiceProvider.php
[추가]
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
2. 마이그레이션 기능을 이용한 테이블 생성
장점 : DB스키마를 쉽게공유, 마이그레이션 이력이 남는다
- php artisan make:migration {tablename} // database/migrations 폴더에 {tablename}이름의 테이블이 생성됨
- config/database/migrations에 위에 {tablename}이 생성된다.
- schema builder(DB종류에 상관없이 DB를 조작할 수 있게 해준다.)를 이용한다.
위에 생성된 migrations파일에 up 메소드에 아래 내용과 같은 소스를 입력(up:테이블생성, down:롤백)
[소스]
// 마이그레이션을 실행할때 해당 테이블을 생성해줌
Schema::create('lecture', function ($table) {
$table->increments('no');
$table->timestamps(); // created_at, updateed_at 컬럼을 생성해준다.
});
- 테이블삭제는
Schema::drop('lecture'); // 테이블 삭제
Schema::drop('lecture'); // 테이블 유무 확인 후 삭제한다.
- php artisan migrate 명령어를 이용하여 테이블을 생성하자.
3. DB 마이그레이션 롤백
- php artisan migrate:rollback // 롤백을 하면 테이블과 마이그레이션 로그가 삭제된다.
4. 컬럼 삭제
if(Schema::hasColumn('lecture', 'title'))
{
Schema::table('lecture', function($table)
{
$table->dropCloumn('title');
});
}
'PHP > Laravel' 카테고리의 다른 글
validator(유효성검증) (0) | 2019.04.04 |
---|---|
옐로퀀트ORM 활용 (0) | 2019.04.04 |
뷰 생성(blade) 및 데이터 표시(템플릿 엔진 활용방법) (0) | 2019.04.04 |
XSS 적용 방법 (0) | 2019.04.03 |
laravel 설치 php7.1+homestead (0) | 2019.03.28 |