Open5
雑なメモ
テーブル名が長いとき
SQLSTATE[42000]: Syntax error or access violation: 1059 Identifier name 'xx_xx_foreign' is too long
create_foo_table.php
Schema::create('foo_table', function (Blueprint $table) {
$table->foreign('some_column')
->references('id')
->on('bar_table')
...
テーブル名やカラム名が長い場合、デフォルトだと外部キー名が長くなりエラーになる。
foreign()
の第2引数に、任意のキー名を指定すればよい。
$table->foreign('some_column', '任意の短めなキー名')
->references('id')
->on('bar_table')
...
SQLSTATE[42000]: Syntax error or access violation: 1059 Identifier name 'xxx_yyy_index' is too long
index も同様
PHPStormでの補完を有効にする
Readmeのとおりにインストール
helperのファイル生成
php artisan ide-helper:generate
例)PostモデルのPHPDoc生成
php artisan ide-helper:models "App\Models\Post"
ローカルからS3にファイルをアップロードする場合
-
AmazonS3FullAccess
ポリシーをアタッチしたIAMユーザを用意する
-
.env を書き換える
AWS_ACCESS_KEY_ID=xxxxx
AWS_SECRET_ACCESS_KEY=xxxxx
AWS_DEFAULT_REGION=xxxxx
AWS_BUCKET=xxxxx
- S3バケットを作成する
- バケットポリシーを作成してバケットに適用する(署名付きURLでCloudFront経由のアクセスをさせたい場合は不要)
https://awspolicygen.s3.amazonaws.com/policygen.html
署名付きURLでCloudFrontを経由してS3からコンテンツを取得する
- Distributionを作成する
Elastic Beasntalk環境で使う場合
- Beanstalkで使用するRoleに
AmazonS3FullAccess
policy を付与する - S3のBucket Policy で上記のRoleからのアクセスを許可するようにする
- CloudFront の distribution を作成