マイグレーションを扱うときに使ったコマンド

# マイグレーションを扱うときに使ったコマンド
### migrationファイルの適用状況を確認
#### 出典
https://www.sejuku.net/blog/14229#:~:text=bin/rails%20db%3Amigrate%3Astatus%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%80%81migration%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E9%81%A9%E7%94%A8%E7%8A%B6%E6%B3%81%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%82%8B

```
rails db:migrate:status  
```
【Status】の列が```【up】のものは実行済み```、```【down】のものは未実行```です。
#### 出典
https://www.tairaengineer-note.com/ruby-on-rails-rails-db-migrate-status/#:~:text=%E3%80%90Status%E3%80%91%E3%81%AE%E5%88%97%E3%81%8C%E3%80%90up%E3%80%91%E3%81%AE%E3%82%82%E3%81%AE%E3%81%AF%E5%AE%9F%E8%A1%8C%E6%B8%88%E3%81%BF%E3%80%81%E3%80%90down%E3%80%91%E3%81%AE%E3%82%82%E3%81%AE%E3%81%AF%E6%9C%AA%E5%AE%9F%E8%A1%8C%E3%81%A7%E3%81%99%E3%80%82

```
********@mbp ******* % rails db:migrate:status                     

database: **************

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20221220165730  ********** NO FILE **********
   up     20221221072255  Create products
   up     20221224080150  ********** NO FILE **********
   up     20221227063442  ********** NO FILE **********
   up     20221227080056  Change name on products
  down    20221227084232  Remove name from products

```
#### ```********** NO FILE **********```とは？
削除したマイグレーションファイルの後に********** NO FILE **********と表示されるでしょう。これは、そのマイグレーションファイルが```特定の環境で一度実行されたが、db/migrate/ディレクトリの下に見当たらない```場合に表示されます。

##### 出典
https://railsguides.jp/active_record_migrations.html#:~:text=%E5%89%8A%E9%99%A4%E3%81%97%E3%81%9F%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%BE%8C%E3%81%AB**********%20NO%20FILE%20**********%E3%81%A8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81%E3%81%9D%E3%81%AE%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E7%89%B9%E5%AE%9A%E3%81%AE%E7%92%B0%E5%A2%83%E3%81%A7%E4%B8%80%E5%BA%A6%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%9F%E3%81%8C%E3%80%81db/migrate/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E4%B8%8B%E3%81%AB%E8%A6%8B%E5%BD%93%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

#### マイグレーションファイルを削除する場合
マイグレーションファイルを削除する際は```必ずdown状態になっているのを確認してから削除```するようにしましょう。
##### 出典
https://pikawaka.com/rails/migration#:~:text=%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AF%E5%BF%85%E3%81%9Adown%E7%8A%B6%E6%85%8B%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8B%E3%82%89%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%E3%80%82
### 特定のバージョンのスキーマに変更
#### 出典
https://railsdoc.com/page/rails_db_migrate#:~:text=db%3Amigrate%20RAILS_ENV%3Dtest-,%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%9E%E3%81%AB%E5%A4%89%E6%9B%B4,-%24%20rails%20db%3Amigrate%20VERSION

```
rails db:migrate:up VERSION=********** 
```
特定のマイグレーションをupまたはdown方向に実行する必要がある場合は、db:migrate:upまたはdb:migrate:downタスクを使います。以下に示したように、```適切なバージョン番号を指定するだけで、該当するマイグレーションに含まれるchange、up、downメソッドのいずれかが呼び出されます```。
#### 出典
https://railsguides.jp/active_record_migrations.html#:~:text=%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92up%E3%81%BE%E3%81%9F%E3%81%AFdown%E6%96%B9%E5%90%91%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81db%3Amigrate%3Aup%E3%81%BE%E3%81%9F%E3%81%AFdb%3Amigrate%3Adown%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%92%E4%BD%BF%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%AB%E7%A4%BA%E3%81%97%E3%81%9F%E3%82%88%E3%81%86%E3%81%AB%E3%80%81%E9%81%A9%E5%88%87%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%95%AA%E5%8F%B7%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%80%81%E8%A9%B2%E5%BD%93%E3%81%99%E3%82%8B%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8Bchange%E3%80%81up%E3%80%81down%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%81%AE%E3%81%84%E3%81%9A%E3%82%8C%E3%81%8B%E3%81%8C%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

### マイグレーションをロールバック
```マイグレーションに誤りがあって訂正```したい場合などに使用する
#### 出典
https://railsguides.jp/active_record_migrations.html#:~:text=%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E8%AA%A4%E3%82%8A%E3%81%8C%E3%81%82%E3%81%A3%E3%81%A6%E8%A8%82%E6%AD%A3%E3%81%97%E3%81%9F%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AA%E3%81%A9

```
bin/rails db:rollback
```  
```changeメソッドを逆転実行するかdownメソッドを実行する```形で直前のマイグレーションにロールバックします。マイグレーションを2つ以上ロールバックしたい場合は、STEPパラメータを指定できます。
```
$ bin/rails db:rollback STEP=3
```
最後に行った3つのマイグレーションがロールバックされます。
        
# マイグレーションのカラムの変更は一つずつ行う
多分それを書いていると思う。

https://stackoverflow.com/questions/39601010/change-multiple-columns-with-one-single-migration-change