lib/arxutils_sqlite3/migrate.rb in arxutils_sqlite3-0.1.44 vs lib/arxutils_sqlite3/migrate.rb in arxutils_sqlite3-0.1.45

- old
+ new

@@ -8,47 +8,46 @@ # ActiveRecord用ユーティリティモジュール module Arxutils_Sqlite3 ## # migrateに必要なファイルをテンプレートから作成し、migarteを実行する -class Migrate + class Migrate attr_reader :migrate_dir # migrate用スクリプトファイル名の先頭の番号の間隔 FILENAME_COUNTER_STEP = 10 # DB接続までの初期化を行うDbinitクラスのインスタンス #attr_reader :dbinit # migrate用のスクリプトの生成、migrateの実行を行うmigratexの生成 def initialize( + config, dbconfig_dest_path, dbconfig_src_fname, - migrate_dir, - db_dir, db_scheme_ary, - relation, - opts) + relation_config + ) # DB格納ディレクトリ名 - @db_dir = db_dir + @db_dir = config.get_db_dir # DB構成ファイルの出力先ディレクトリ - @dest_config_dir = Arxutils_Sqlite3::Dbutil::CONFIG_DIR + @dest_config_dir = config.get_config_dir # 生成するDB構成情報ファイルパス @dbconfig_dest_path = dbconfig_dest_path # 参照用DB構成情報ファイル名 @dbconfig_src_fname = dbconfig_src_fname # migrate用スクリプトの出力先ディレクトリ名 - @migrate_dir = migrate_dir + @migrate_dir = config.get_migrate_dir # テンプレートファイル格納ディレクトリ名 - @src_path = Arxutils_Sqlite3::TEMPLATE_RELATION_DIR + @src_path = config.get_template_relation_dir + #@src_path = Arxutils_Sqlite3::TEMPLATE_RELATION_DIR # 構成ファイル格納ディレクトリ - @src_config_path = Arxutils_Sqlite3::TEMPLATE_CONFIG_DIR + @src_config_path = config.get_template_config_dir +# @src_config_path = Arxutils_Sqlite3::TEMPLATE_CONFIG_DIR # データベーススキーマ定義配列 @db_scheme_ary = db_scheme_ary # リレーション指定 - @relation = relation - # オプション指定 - @opts = opts + @relation_config = relation_config FileUtils.mkdir_p(@db_dir) if @db_dir FileUtils.mkdir_p(@migrate_dir) if @migrate_dir FileUtils.mkdir_p(@dest_config_dir) end @@ -61,12 +60,12 @@ # puts x FileUtils.rm(x) if File.file?(x) end end - # マイグレーション用スクリプトの生成、relationのクラス定義ファイルの生成、migrate実行 - def process + # マイグレーション用スクリプトの生成、relationのクラス定義ファイルの生成 + def output # migrationのスクリプトをファイル出力する output_all_script # relationを表すクラス定義のファイルの内容を生成 content_array = make_content_array @@ -88,11 +87,11 @@ count_content = convert_count_class_relation(data_count, "relation_count.tmpl") ary.unshift(count_content) content_array = ary end # relationのスクリプトを作成 - output_relation_script(content_array, @relation) + output_relation_script(content_array, @relation_config) end # migrationのスクリプトをファイル出力する def output_all_script # スキーマ設定配列から、migrate用のスクリプトを作成する @@ -182,22 +181,20 @@ f.puts(content) end end # relationのスクリプトをファイル出力する - def output_relation_script(content_array, opts) - # pp "==" - # pp opts - dir = opts[:dir] - fname = opts[:filename] + def output_relation_script(content_array, relation_config) + dir = relation_config[:dir] + fname = relation_config[:filename] fpath = File.join(dir, fname) File.open(fpath, "w") do |file| - opts[:module].map { |mod| file.puts("module #{mod}") } + relation_config[:module].map { |mod| file.puts("module #{mod}") } content_array.map do |x| file.puts x file.puts "" end - opts[:module].map { |_mod| file.puts("end") } + relation_config[:module].map { |_mod| file.puts("end") } end end end end