[grails] 2.3.4 から、3.3.5 のアップグレード

grails のアップグレード時のメモ
色々機能を入れていたので、アップグレードをする場合は適宜必要な箇所だけピックアップしてみて下さい。

1. 最初に 3.3.5 で新しいプロジェクトを作成する

以降、新しいプロジェクトを、 newversion_project
古いプロジェクトを、 oldproject という名前で呼ぶ

2. 古い2.x 仕様の物を3.x 仕様にする

2.1. grails-app/conf/BuildConfig.groovy を変更

BuildConfig.groovy は、build.gradle と application.yml に分割される

旧:BuildConfig.groovy


新:application.yml

旧:BuildConfig.groovy


新:build.gradle

旧:BuildConfig.groovy


新:build.gradle

旧:BuildConfig.groovy


新:build.gradle

旧:BuildConfig.groovy


新:build.gradle

旧:BuildConfig.groovy


新:build.gradle

2.2. ソースの移動

grails-app 配下をコピー

srcのコピー

test のコピー

integration のテストのコピー

2.3. ソース内のパッケージ等

それぞれ、旧を新に変更する




2.4. liquibase.util.csv.CSVReader

liquidbase を使っていたので、build.gradle をインポート

#build.gradle

2.5. Validateable のアノテーション変更

@grails.validation.Validateable は、
annotaion じゃなく、trait に変わったので変更

@grails.validation.Validateable と記載があるところは削除して以下を入れる

2.6. grailsApplication は自動injectされる

controller にある、
def grailsApplication
は不要。自動的にinjectされるので記載を削除

2.7. test のソース変更

アノテーションではなく、traitをつかようになったので変更

以下のような試験は

以下に変更する

TestMixin を使ってる箇所場合は、build.gradle にライブラリを追加

新:build.gradle

2.8. grails-app/conf/Config.groovy を、grails-app/conf/application.groovy へ。

application.groovy は、create-app では作成されるないので自分で作成

旧: Config.groovy


新: application.groovy

2.8.1. spring-security 関連の設定

Config.groovy にある、
grails.plugin.springsecurity. から始まる物を、application.groovy に移動

2.8.2. elasticSearch 関連の設定

elasticSearch plugin を使っていたので設定を移動

Config.groovy にある、
elasticSearch {} を全てコピー

2.8.3. grails-app/conf/DataSource.groovy を、grails-app/conf/application.yml へ

ディフォルトで作成されている、

以下の部分から、DataSource.groovy の groovy 形式を ymlに変換しながらコピー

ただし以下の記載は

以下に変更

2.8.4. grails-app/conf/QuartzConfig.groovy

quartz plugin を使っていたので設定を移動

application.yml に入れる

旧: grails-app/conf/QuartzConfig.groovy


新: grails-app/conf/application.yml

2.8.5. grails-app/conf/BootStrap.groovy の変更

/grails-app/init/${package_name}/BootStrap.groovy に移動

${package_name} は、
application.yml の

に合わせる

2.9. 不要なソースを削除

  • grails-app/conf/BuildConfig.groovy
  • grails-app/conf/Config.groovy
  • grails-app/conf/QuartzConfig.groovy
  • grails-app/conf/DataSource.groovy
  • grails-app/conf/BootStrap.groovy
  • grails-app/conf/UrlMappings.groovy

必要なら、./grails-app/controllers/${package_name}/UrlMappings.groovy に移動

${package_name} は、
application.yml の

2.10. web.xml

src/templates/war/web.xml でローカル環境でのセッションの時間を変更していたので、これを変更

旧: web.xml


新: grails-app/conf/application.yml

2.11. static なファイルの移動

2.12. templates の移動

scaffold のテンプレートを変更してる場合は、
新しプロジェクトの方で、scaffold の templates を生成して手動で変更した方が良い。
ソースをそのまま移動しても簡単には動かなかった。

して、templates を前のプロジェクトの物と比較しながら、手動で変更

2.13. springsecurity plugin の更新

https://grails-plugins.github.io/grails-spring-security-core/3.2.x/index.html#tutorials
この、 tutorials みて真似をするか、

grails s2-quickstart を実行して、現在のdomainと統合していく。

ポイントとしては、
パスワードの作成が、以前は、Userドメインの内部で、
encodePassword()
を呼び出していたが、新しいのは
UserPasswordEncoderListener
を作成して、そこ経由でパスワードのencodeをしている。

以前のuserドメイン

新しいバージョンでは、UserPasswordEncoderListener を作成してそこでパスワードのencode処理をしている

【アメリカ家族旅行 S.L.Cへ】0歳と3歳を連れて デリケート・アーチ到着

乳幼児を連れて海外旅行をする方に情報提供の意味も含めて体験談を書いております。
特にアレルギーなどあると不安でしたので情報共有できたらと思います。
行く前は不安だらけでしたが帰ってきた今は大変良い思い出ができました。

最後のラストスパート

いよいよ頂上ですが、最後は少し狭い場所を歩きます。
結構往来が激しいので、落ちないように注意。

デリケートアーチまであと少しの所で、道がとても狭くなる。人の往来も激しいので注意

デリケート・アーチに到着前にちょっとしたアーチに出会えます。

デリケート・アーチ手前にあるアーチ。登ってのぞく体力は残ってなかった。

体力的な問題と、子供を背負っているのでここには登らずにスルー。

ゴール手前の景色です。登ってきたので綺麗な景色が見えます。

右側は岩の壁、左側は上の景色の狭い道を通り過ぎるとそこに突然、壮大なデリケート・アーチが登場するのです。

ついにデリケート・アーチに到着

ここまで、ほとんど見る事のないデリケート・アーチ。それは突然姿をあらわします。

この演出がまた憎い。

急に物陰から登場するかのように姿をあらわすので、それまで疲れなんか吹っ飛んでしまいます。

この道を進むとその先に

この道を進むと、いよいよデリケート・アーチが見えてくる。

突然姿をあらわす、デリケート・アーチ

デリケート・アーチは壮大で美しく、写真ではなく機会があれば是非実際に見て頂かないとこの感動は味わえないです。

とにかく、この感動は行ってみないと説明できないです。

みんなで記念撮影

お昼はやっぱりおむすび

頂上のデリケート・アーチに着いたのは、お昼過ぎ。ここで、ランチを頂くが日本人ならオニギリ。

今回は宿泊先にも、炊飯器を持参したので朝に作ったオニギリを頂く。

疲労と空腹の中食べるおにぎりは絶品。

これがまた美味しい。乾燥してるので汗をかいてる実感はないが、相当汗をかいてるようで、塩が体に染み渡る。

特に子供を背をってると、熱で背中に相当汗をかいてる。

デリケートアーチのパノラマ

背中に寝ていた子供達も、昼食とわかると起き始め昼食をはじめた。

デリケート・アーチには関心がないようだ。花より団子か。

と思ったが、3歳や0歳児にとって、この景色は別に驚くようなものではなく、逆に大人のように普段の景色が常識としてインプットされている人間が、この非日常的な景色を見ると感動する。

子供にとっては、あまり目にする事ないもの例えば電車や大きい車、目の前で見る飛行機も全く新しい物として見える。

見慣れてくるとそれが常識という普段になってくる。
なので、このデリケート・アーチもそういう新しい物として普通にインプットしてるだけで特に大きい感動はない。

しかし、大人はこんな景色は滅多に見ない、いわゆる非日常なのでとても感動する、ファンタジーのような世界に浸れる。

下山開始

デリケート・アーチの逆側の景色

頂上で英気を養ったらいよいよ下山。

上の三歳児も良く寝て元気が出てきたのか、いとこたちとはしゃいで下山し始めました。

このデリケート・アーチが今回の旅行のメイン。

アーチーズ国立公園。アクセス悪いですが、機会があったら是非是非行って下さい。

アーチーズ以外にも周辺に沢山魅力的な景勝地があります。

旅で人生なんて変わらない。少しリフレッシュするぐらいだと思ってる方。

人生が変わると言っても過言ではない旅ここにはあります。