Class: Arxutils::Dbutil::Dbinit
- Inherits:
-
Object
- Object
- Arxutils::Dbutil::Dbinit
- Defined in:
- lib/arxutils/dbutil/dbinit.rb
Overview
DB接続までの初期化を行う
Instance Attribute Summary collapse
-
#dbconfig_dest_path ⇒ Object
生成するDB構成情報ファイルパス.
-
#dbconfig_src_fname ⇒ Object
参照用DB構成情報ファイル名.
-
#migrate_dir ⇒ Object
migrate用スクリプトの出力先ディレクトリ名.
Instance Method Summary collapse
-
#initialize(db_dir, migrate_base_dir, src_config_dir, dbconfig, env, log_fname, opts) ⇒ Dbinit
constructor
DB接続までの初期化に必要なディレクトリの確認、作成.
-
#setup ⇒ Object
DB接続し、DB用ログファイルの設定.
Constructor Details
#initialize(db_dir, migrate_base_dir, src_config_dir, dbconfig, env, log_fname, opts) ⇒ Dbinit
DB接続までの初期化に必要なディレクトリの確認、作成
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 35 def initialize( db_dir , migrate_base_dir , src_config_dir , dbconfig , env, log_fname, opts ) # DB格納ディレクトリ名 @db_dir = db_dir # DB構成ファイルのテンプレート格納ディレクトリ @src_config_dir = src_config_dir # DB構成ファイルの出力先ディレクトリ @dest_config_dir = "config" # DB構成ファイル名 @dbconfig_dest_fname = "#{dbconfig}.yaml" # DB構成ファイル用テンプレートファイル名 @dbconfig_src_fname = "#{dbconfig}.tmpl" # DB構成ファイルへのパス @dbconfig_dest_path = File.join( @dest_config_dir , @dbconfig_dest_fname) # DB構成ファイル用テンプレートファイルへのパス @dbconfig_src_path = File.join(@src_config_dir , @dbconfig_src_fname) # 環境の指定 @env = env # DB用ログファイル名 @log_fname = log_fname if @db_dir and @log_fname # DB用ログファイルへのパス @log_path = File.join( @db_dir , @log_fname ) # migrate用スクリプト格納ディレクトリへのパス @migrate_dir = File.join( @db_dir , migrate_base_dir ) end FileUtils.mkdir_p( @db_dir ) if @db_dir FileUtils.mkdir_p( @migrate_dir ) if @migrate_dir FileUtils.mkdir_p( @dest_config_dir ) # remigrateが指定されれば、migrate用スクリプトとDB構成ファイルを削除する if opts["remigate"] FileUtils.rm( Dir.glob( File.join( @migrate_dir , "*"))) if @migrate_dir FileUtils.rm( Dir.glob( File.join( @dest_config_dir , "*"))) end end |
Instance Attribute Details
#dbconfig_dest_path ⇒ Object
生成するDB構成情報ファイルパス
28 29 30 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 28 def dbconfig_dest_path @dbconfig_dest_path end |
#dbconfig_src_fname ⇒ Object
参照用DB構成情報ファイル名
30 31 32 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 30 def dbconfig_src_fname @dbconfig_src_fname end |
#migrate_dir ⇒ Object
migrate用スクリプトの出力先ディレクトリ名
32 33 34 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 32 def migrate_dir @migrate_dir end |
Instance Method Details
#setup ⇒ Object
DB接続し、DB用ログファイルの設定
72 73 74 75 76 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 72 def setup dbconfig = YAML.load( File.read( @dbconfig_dest_path ) ) ActiveRecord::Base.establish_connection(dbconfig[@env]) ActiveRecord::Base.logger = Logger.new( @log_path ) end |