Class: Infold::SchemaRb

Inherits:
Object
  • Object
show all
Defined in:
app/models/infold/schema_rb.rb

Constant Summary collapse

SCHEMA_FILE_PATH =
"#{Infold::Engine.root}/tmp/app_schema.rb"

Instance Method Summary collapse

Instance Method Details

#file_dumpObject



6
7
8
9
10
11
# File 'app/models/infold/schema_rb.rb', line 6

def file_dump
  File.delete(SCHEMA_FILE_PATH) if File.exist?(SCHEMA_FILE_PATH)
  File.open(SCHEMA_FILE_PATH, "w:utf-8") do |file|
    ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
  end
end

#importObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/infold/schema_rb.rb', line 13

def import
  File.open(SCHEMA_FILE_PATH, "r") do |file|
    @schema_rb = file.read.to_s
  end
  raise "invalid schema.rb" if invalid_schema_file?
  Infold::ApplicationRecord.transaction do
    # モデルのインポート
    import_models
    # カラムとインデックスのインポート
    import_columns_and_indexes
  end
end