LoginSignup
0
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-10-22

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0