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接続までの初期化に必要なディレクトリの確認、作成
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 47 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構成情報ファイルパス
40 41 42 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 40 def dbconfig_dest_path @dbconfig_dest_path end |
#dbconfig_src_fname ⇒ Object
参照用DB構成情報ファイル名
42 43 44 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 42 def dbconfig_src_fname @dbconfig_src_fname end |
#migrate_dir ⇒ Object
migrate用スクリプトの出力先ディレクトリ名
44 45 46 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 44 def migrate_dir @migrate_dir end |
Instance Method Details
#setup ⇒ Object
DB接続し、DB用ログファイルの設定
84 85 86 87 88 |
# File 'lib/arxutils/dbutil/dbinit.rb', line 84 def setup dbconfig = YAML.load( File.read( @dbconfig_dest_path ) ) ActiveRecord::Base.establish_connection(dbconfig[@env]) ActiveRecord::Base.logger = Logger.new( @log_path ) end |