Laravelを使って作業中tableに仕様変更が入った!
とあるカラムをnullable()にするとのこと...
テーブルの再定義すりゃええんやねぇ〜(余裕余裕)...
?あれ。で、できない...
作業フロー
①テーブル再定義のmigrationファイル作る
php artisan make:migration ModifyProjects
②migrationファイルを書いてゆくーー
//①で作ったmigrationファイル
public function up()
{
Schema::table('変えたいカラムがあるテーブル名', function (Blueprint $table) {
$table->integer('変えたいカラム名前')->nullable()->change();
});
}
③ターミナルにて以下のコマンド実施
※これを入れることで『->change()』が使える様になる!
composer require doctrine/dbal
あ、あれ?エラー出るんだが... (o_o)/ンゴォ
※これがスムーズに入れば超簡単な作業ゾ
エラー①
mmap() failed: [12] Cannot allocate memory
mmap() failed: [12] Cannot allocate memory
PHP Fatal error: Out of memory (allocated 400556032) (tried to allocate 1359872 bytes) in phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php on line 462
Fatal error: Out of memory (allocated 400556032) (tried to allocate 1359872 bytes) in phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php on line 462
ふむふむ。。。
メモリがどーのこーの言われてんなぁ。
(エラー文コピペでググる!)
swapファイル2GB作れば行けそうやなぁ...
※主は1GBずつチマチマ作ります...
//一気に2GB作る
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
//正常にできてるか確認
free -h
total used free shared buff/cache available
Mem: 983M 109M 72M 32K 801M 732M
Swap: 2.0G 0M 2.0G
//できてる!!!!!!
はーいもうできるンゴ!(慢心)
※結果から言うとまだできないよ!
//慢心で打ちました。
composer require doctrine/dbal
エラー②
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.[ec2-user@ip-172-31-35-16 paylove]$ php -r "echo ini_get('memory_limit').PHP_EOL;"
さっきとちょっと違うエラーだね!
このエラーは親切なことに一番下に『Check』とリンク貼ってくれてる!
///リンク踏むと解決方法出てくる!
php -r "echo ini_get('memory_limit').PHP_EOL;"
sudo vi /etc/php.ini
↑このファイルの中身書き換える
//php.iniの中
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
;memory_limit = 128M
memory_limit = -1
これでできるはず!
composer require doctrine/dbal
おし!入った!
④migrateしていくヨーーン
php artisan migrate
てな感じでテーブルの定義変更できましたぁ〜(@0@)///