Help us understand the problem. What is going on with this article?

テーブル定義変更にて、composer require doctrine/dbal 失敗!

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@)///

Sub_Tanabe
YouTubeを趣味でやってます! なりたい自分が見えたので、プログラム始めました!ってなことで、なんとなくQiita始めました! YouTubeと同じく趣味の範疇でやるのでお手柔らかに。
https://www.youtube.com/channel/UCt318H2DFJr7sltZHKWoqRw
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away