Extension uninstall

Witam

Czy da się automatycznie odinstalować rozszerzenie razem z migracjami ??

Chodzi o to że jak dodaję rozszezenie to robię tak:

  1. Edytuje Gemfile, dodaję: gem ‘extension_name’
  2. bundle install
  3. rake extension_name:install
  4. rake db:migrate

Jak chcę odinstalować to:

  1. Edytuje Gemfile, usuwam gem ‘extension_name’
  2. bundle install
  3. muszę cofnąć migrację

Nie da się. Zobacz, może jest task extension_name:uninstall, który usuwa plik z migracją, ale to co migracja zmieniła w bazie musisz cofnąć sam.

A czy Rails 3.1 nie będą czasem miały takiej możliwości ??

Podejrzewam, że masz na myśli http://rails-engines.org/

No tak, od Rails3.1 nie będzie trzeba robić:

rake extension_name:install

ale czy trzeba będzie robić:

rake db:migrate (pewnie tak)

[quote=RORMaster]No tak, od Rails3.1 nie będzie trzeba robić:

rake extension_name:install

ale czy trzeba będzie robić:

rake db:migrate (pewnie tak)[/quote]
W 3.1 pliki z migracjami będą kopiowane do db/migrate w aplikacji żebyś miał nad nimi pełną kontrolę (głupio by było zniszczyć sobie bazę danych). Dlatego po install trzeba normalnie zrobić migrate.