0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

環境変数に空文字``を設定する

Last updated at Posted at 2020-04-08

コンバンワ、今日も相変わらずembulkのお世話になっていたプレイライフの合原です。

ちょびっと気づきがあったので、tips的な記事を。

※話をスコープしたいので、embulkで自体の説明は割愛します。

embulkでは環境変数が使える

みんな大好きバルクデータローダembulkでは、環境変数を使って、(例えば環境に応じて等)値を設定することができます。
Rails環境下でembulkを使って快適に数十万件のデータを取り込むとか読んでいただけますと雰囲気がわかるかと思います。

例えば、

export DB_HOST=127.0.0.1
export DB_NAME='db'
export DB_USER=db_user
export DB_PASSWORD="hogehoge"

とあると、これを、

#
out:
  type: mysql
  host: {{ env.DB_HOST }}
  database: {{ env.DB_NAME }}
  user: {{ env.DB_USER }}
  password: {{ env.DB_PASSWORD }}
  table: target_table
   :

と言った具合に参照できるようになります。

環境変数に''を設定するには?

ローカル環境で開発する際など、よくDBのパスワードを''にしているケースはあるかと思います。

export DB_PASSWORD=""

export DB_PASSWORD=''

上記の二つは、いずれも未定義状態になってしまいます。
答えは、

export DB_PASSWORD="''"

一応、確かめてみると...

$ HOGE=""                                                                                   
$ echo $HOGE

$ HOGE=''"
$ echo $HOGE

$ HOGE="''" 
$ echo $HOGE                                                                               
''       

... というわけで、

  password: {% if env.RAILS_ENV == 'development' %} '' {% else %}{{ env.DB_PASSWORD }}{% endif %}

というようなことをする必要はなく、

  password: {{ env.DB_PASSWORD }}

で済みます。

以上。

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?