Vagrant の Sahara を試す (Vagrant 1.1 / Windows 7)
前回で Vagrant の環境は整えた所で、データの初期化も自動化したかったが、それよりも使いたかった Sahara を試してみることに。
が、どうやら公式には対応していないとの事。。。が! ryuzee さんが神対応をキメてくれていたとの事でさっそく試してみる。
インストール
導入方法は ryuzee さんのサイトにある通りでOK。bundler が入っていなければ入れる。以下は Git shell (Github for Windows についてる)でやってます。ruby は 1.9.3p327
です。
> gem install bandler Fetching: bundler-1.3.5.gem (100%) Successfully installed bundler-1.3.5 1 gem installed Installing ri documentation for bundler-1.3.5... Installing RDoc documentation for bundler-1.3.5... > git clone https://github.com/ryuzee/sahara.git > cd sahara > bundle install Fetching gem metadata from http://rubygems.org/.......... Fetching gem metadata from http://rubygems.org/.. Resolving dependencies... Using rake (0.9.2.2) Installing Platform (0.4.0) Using bundler (1.3.5) Installing open4 (1.3.0) Installing popen4 (0.1.2) Installing thor (0.18.1) Using sahara (0.0.14) from source at . Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. > bundle exec rake build sahara 0.0.14 built to pkg/sahara-0.0.14.gem. > vagrant plugin install .\pkg\sahara-0.0.14.gem Installing the '.\pkg\sahara-0.0.14.gem' plugin. This can take a few minutes... Installed the plugin 'sahara (0.0.14)'!
特に問題無く入りました。未検証との事だったのですが、全然大丈夫ですね。
試してみる
前回 PostgreSQL を入れたので、検証も PostgreSQL のデータを見て確認しています。ここからは Vagrant ファイルがあるフォルダに移動して行います。
> vagrant sandbox on 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% > vagrant sandbox status [default] Sandbox mode is on
sandbox が有効になったので PostgreSQL のデータを適当に変更する。で、rollback
します。
> vagrant sandbox rollback 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
おお、バッチリ戻ってますね!
さらにデータを変更してみる。で、今度は commit
してみます。
> vagrant sandbox commit 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
おお、ちゃんと反映されてます。ここで rollback
しても確かに反映されてままになってます。
次に、また sandbox を有効にしデータをさらに変更して、今度は off
してみます。期待値としては commit
していないので反映はされないはずです。
> vagrant sandbox on > vagrant sandbox off 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% > vagrant sandbox status [default] Sandbox mode is off
が、ここはデータが反映されてしまいました。ここだけ期待通りいきませんでした。
ですが、rollback
が正常に動いているのでやりたいことは全然実現できそうです、すげぇなー。マジすげぇなー。