Upgrade mongoid from v5.4.0 to v6.4.2

Upgrading mongoid v5.4.0 -> v6.4.2 refs: https://docs.mongodb.com/mongoid/6.4/tutorials/mongoid-upgrade/#upgrade-to-6-x-series 6.0.0.beta https://github.com/mongodb/mongoid/releases/tag/v6.0.0.beta MONGOID-3944 Support #create_with method. 🆕#create_with メソッドの追加 ActiveRecord の #create_with の mongoid…

MongoDB : Replica Set の参照設定

📝MongoDB のドキュメントを箇条書きしていく。随時更新 Env / Versions MongoDB v3.6 参照の優先度設定 ⚠️ Primary から Secondary への非同期レプリケーションには遅延が発生するため、古いデータが返される可能性がある 参照のモード 各 MongoDB ドライバーは以下の5つのモードをサポートしている primary Primary からのみ参照する Primary が使用できない場合はエラーになる デフォルト primaryPreferred Primary から参照するが使用できない場合は Secondary から参照する secondary Secondary からのみ参照する 使用可能な Secondary が無い場合はエラーになる secondaryPreferred Secondary から参照するが使用可能な Secondary が1台もない場合は Primary から参照する nearest ネットワークレイテンシが最も低いメンバーから参照する Primary, Secondary 問わない サーバ選択アルゴリズム…

[SOLVED] Failed to auto renew ssl certificate for ghost blog

ghost cli v1.0.0 -> 1.3.0 Ref -> Upgrading Ghost-CLI $ npm upgrade ghost-cli -g $ ghost version Ghost-CLI version: 1.3.0 Ghost Version (at /var/www/ghost): 1.6.2 $ ghost migrate ✔ Checking for available migrations Running sudo command: mkdir -p /etc/letsencrypt Running sudo…

Sign in to Errbit with GitHub

Introduction I wrote about the introduction of Erribit in past postings. How to install Errbit for Express bug tracking 🐛 This post is about how to configure Errbit to sign in with Github. ENV Mac OSX 10.12.3 MongoDB 3.4.2 Node.js 7.5.0 Express 4.14.…

Node.js Database Cleaner with Mongoose

Env Mac OSX 10.12.3 MongoDB 3.4.2 Node.js 7.5.0 Mocha 3.2.0 database-cleaner 1.2.0 Install database-cleaner 🚿 $ yarn add -D database-cleaner or $ npm install -D database-cleaner test/mocha.opts --reporter spec --recursive --require test/setup test/setup.js const mongoose = require('mongoose')…

au -> LINEモバイル 乗り換え

au から LINEモバイル に乗り換え。 LINEモバイル まだ始まったばかりなので周りに使っている人もいなかったので、ダメだったら乗り換えればいいやぐらいの気持ちで選択。 Twitter, Facebook の通信料が無料になったらどのぐらいになるかなっと。普段LINEはほとんど使わない。 ということで LINEフリープラン ではなく コミュニケーションフリープラン を選択。 3GB, データ+SMS +音声電話 で Â¥1,693 / 月 安い。 申し込み 夜にLINEモバイル公式ページから申し込みをし、次の日には本人確認も完了してSIMが発送されました。 早い。 本人確認書類(免許証など)は携帯で写真を撮ってそのままアップロードした方が楽なので携帯で申し込みがオススメ。 MNP 今回は au から MNP で乗り換えしたので、切り替え作業の申し込みをし、30分後にはLINEモバイルのSIMが使えるようになりました。 申し込みは電話で。本人確認の質問に幾つか答えるだけなのですぐ終わる。まだ始まったばかりだからか、電話は繋がりにくかった。 おわり 音声電話をつけたのは仕事のためですね。普段使うことはほとんどない。 ちょうどauが2年経って更新月だったところにLINEモバイルが始まったので、重い腰を上げて乗り換えをしました。 料金もそうですが、…

Mongoid エラーメッセージが翻訳されない時

Env Rails 4.2.7 Mongoid 5.1.1 Mongoid のエラーメッセージを正常に出力する 英語以外のロケールで Mongoid を使用していると、 Mongoid のエラーが発生した際にそのエラーメッセージが翻訳できずに translation missing エラーが発生してしまいます。 Mongoid::Errors::DocumentNotFound: translation missing: ja.mongoid.errors.messages.message_title: translation missing: ja.mongoid.errors.messages.document_not_found.message translation missing: ja.mongoid.errors.messages.summary_title: translation missing:…

Mongoid フィールド定義の上書きを設定する

Env Rails 4.2.7 Mongoid 5.1.1 結論 警告を消したいなら、以下のように overwrite オプションを追加することで消すことができます。 field :_id, type: String, overwrite: true, default: -> { generate_id } 以下では設定前後の比較やログの確認をしています。 警告メッセージを確認する フィールドを重複して定義していると警告がログに出力されます。 コーディングミスにより重複している場合はこのログで気づけるわけです。 ですが、例えば _id フィールドの採番ルールをカスタマイズしたい場合など、フィールドを再定義したい場合があります。 app/models/user.rb class User include Mongoid::Document include Mongoid::Timestamps field :_id, type: String,…