Post History
#2: Post edited
- In my dev environment I'm editing the flags in `db/seeds/post_flag_types.yml`. After editing I run `rails db:seed`, which adds my new flag. Fine so far.
- However, I had a typo in the name, so I edited to fix it, ran `rails db:seed` again, and now I have _two_ flags. Running seeds *added* flags it didn't already know about, but didn't detect the *absence* of a previously-defined flag and remove it.
- I understand why that's desirable as a default; we wouldn't want to nuke flags that have actually been used without considering the effects on flag history. But in this case, I want to override -- I want to tell `db:seed` to forget what it knows and load these flags anew.
How do I do that?
- In my dev environment I'm editing the flags in `db/seeds/post_flag_types.yml`. After editing I run `rails db:seed`, which adds my new flag. Fine so far.
- However, I had a typo in the name, so I edited to fix it, ran `rails db:seed` again, and now I have _two_ flags. Running seeds *added* flags it didn't already know about, but didn't detect the *absence* of a previously-defined flag and remove it.
- I understand why that's desirable as a default; we wouldn't want to nuke flags that have actually been used without considering the effects on flag history. But in this case, I want to override -- I want to tell `db:seed` to forget what it knows and load these flags anew.
- How do I do that? I found `UPDATE_POSTS=true rails db:seed` in a section about updating the seeded help and that doesn't *sound* like it would apply, but I tried it anyway. As expected, it didn't replace the flag seeds.
#1: Initial revision
How do I force db:seed to forget previous context and load only what is in the flags YAML file?
In my dev environment I'm editing the flags in `db/seeds/post_flag_types.yml`. After editing I run `rails db:seed`, which adds my new flag. Fine so far. However, I had a typo in the name, so I edited to fix it, ran `rails db:seed` again, and now I have _two_ flags. Running seeds *added* flags it didn't already know about, but didn't detect the *absence* of a previously-defined flag and remove it. I understand why that's desirable as a default; we wouldn't want to nuke flags that have actually been used without considering the effects on flag history. But in this case, I want to override -- I want to tell `db:seed` to forget what it knows and load these flags anew. How do I do that?