LoginSignup
1
1

More than 5 years have passed since last update.

rails テーブルのデータの削除のやり方(テスト段階)

Last updated at Posted at 2018-07-28

sqlite、rails、小規模webサイト、テスト段階の環境

rails では、データベース運用しながら、止めることなく成長させるために、migrationを使って、テーブルにカラムを追加させることができる。例えば、

$ rails generate migration add_name_to_users name:string

のようにやれば、運用を止めることなく、usersテーブルにnameというstring型のカラムを追加できる。

しかし、このようにやるのは、運用が続いているwebサイトを改良する場合であり、一から設計している場合は、このやり方をすると、add用のmigrationファイルがたまってしまいゴチャゴチャして良くないと思う。なので、自分の場合、下のようにやって、データベースの構成を試行錯誤して作成している。

$ vim bd/migrate/2018072xxxxxx_create_users.rb
  #直接マイグレーションファイルにt.string :name のように記述する。
$ rake db:drop
  #全てのデータを削除する。
$ bundle exec rake db:migrate
  #マイグレションファイルからテーブルを作成する。
$ bundle exec rake db:populate
  #fakerを使って、ダミーデータを追加する。

全てのデータを削除するのは、危険であるので消してはいけないデータがないか注意してから実行する。思うに、テーブルを追加したり、削除したりしていると、bundle exec rake db:migrateを実行したときに、エラーが発生し、その度に原因を削除しないといけないので、とても面倒である。そのため、rake db:dropで全てのテーブルを削除してしまえば、エラーの原因を全て削除したことになるので、bundle exec rake db:migrateが成功しやすいということである。
今のところ、この方法で自分は快適に操作しているというメモです。

1
1
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
1
1