Laravel 설치 직후의 설정 변경, 테이블 작성
10616 단어 PHP비망록migrationlaravel5.7초기 설정
- 참고 사이트: Laravel 5.7 설치
시간대, 로캘 설정
대상 파일: [app\config\app.php]
디폴트에서는 UTC와 en이므로, 일본에서 사용하는 경우는 이하와 같이 합니다.
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'Asia/Tokyo',
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'ja',
데이터베이스 설정
대상 파일: [app\config\database.php]
mysql을 사용하므로 다음을 환경에 맞게 변경합니다.
DB_PASSWORD
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
마이그레이션
대상 파일: [app.env]
마이그레이션할 경우 설정합니다.
DB_CONNECTION=mysql
DB_HOST=DBサーバーのアドレス
DB_PORT=3306
DB_DATABASE=作成したDB
DB_USERNAME=ユーザ名
DB_PASSWORD=パスワード
마이그레이션 준비
대상 파일이 생성되는 위치: [app\database\migrations\xxx.php]
테이블 구조를 정의하는 파일을 만듭니다.
artisan을 사용하여 마이그레이션 파일을 작성합니다.
다음을 만듭니다.
- URL 관리 테이블 : t_url_list
- OS를 관리하는 테이블(마스터) m_os_type
# php artisan make:migration create_url_list_table --create=t_url_list
# php artisan make:migration create_os_type_master --create=m_os_type
실행하면 [app\database\migrations] 아래에 타임스탬프가 접두사로
추가된 create_url_list_table.php 및 create_os_type_master.php가 생성됩니다.
(예) 2019_01_17_180850_create_url_list_table.php 등
두 파일에 테이블 열을 추가합니다.
- 참고: Laravel 5.7 데이터베이스: 마이그레이션 -> 사용 가능한 컬럼 타입
- 참고: 영어 버전: Laravel 5.7 데이터베이스: 마이그레이션 Creating Columns
테이블 구조를 정의합니다.
t_url_list 테이블
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUrlListTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('t_url_list', function (Blueprint $table) {
$table->bigIncrements('id'); // Auto-incrementing UNSIGNED BIGINT (primary key) equivalent column.
$table->string('url', 100); //VARCHAR equivalent column with a optional length.
$table->unsignedInteger('m_os_type_id'); //UNSIGNED INTEGER equivalent column.
$table->dateTime('created');
$table->dateTime('modified');
// インデックス追加
$table->index('m_os_type_id', 'idx_t_url_list_001');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('t_url_list');
}
}
m_os_type 마스터
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateOsTypeMaster extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('m_os_type', function (Blueprint $table) {
$table->increments('id'); // Auto-incrementing UNSIGNED INTEGER (primary key) equivalent column.
$table->string('os_type_name', 20)->unique(); // VARCHAR equivalent column with a optional length. ユニークにする
$table->dateTime('created');
$table->dateTime('modified');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('m_os_type');
}
}
artisan으로 마이그레이션하기
$ php artisan migrate
Migrating: 2019_01_17_180850_create_url_list_table
Migrated: 2019_01_17_180850_create_url_list_table
Migrating: 2019_01_17_180858_create_os_type_master
Migrated: 2019_01_17_180858_create_os_type_master
위와 같이 표시되면 OK입니다. desc 명령이나 phpMyAdmin 등으로 구조를 확인합니다.
m_os_type 정의대로 테이블이 작성되었습니다 (다른 하나는 할애)
길어지므로 데이터의 초기값 등록은 별도로 합니다.
Reference
이 문제에 관하여(Laravel 설치 직후의 설정 변경, 테이블 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/you03/items/1105b172d4eb97c27c30텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)