Class: DbdocAdmin::DataTransferController
- Inherits:
-
BaseController
- Object
- BaseController
- DbdocAdmin::DataTransferController
- Defined in:
- app/controllers/dbdoc_engine/dbdoc_admin/data_transfer_controller.rb
Instance Method Summary collapse
Instance Method Details
#export_data ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'app/controllers/dbdoc_engine/dbdoc_admin/data_transfer_controller.rb', line 5 def export_data data = { groups: DbDesignTableGroup.where(deleted_at: nil).as_json, tables: DbDesignDynamicTable.where(deleted_at: nil).as_json, columns: DbDesignDynamicColumn.joins(:db_design_dynamic_table) .where(db_design_dynamic_tables: { deleted_at: nil }) .as_json } render json: data end |
#import_data ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/controllers/dbdoc_engine/dbdoc_admin/data_transfer_controller.rb', line 16 def import_data json_data = JSON.parse(request.body.read) ActiveRecord::Base.transaction do DbDesignDynamicColumn.unscoped.delete_all DbDesignDynamicTable.unscoped.delete_all DbDesignTableGroup.unscoped.delete_all DbDesignTableGroup.insert_all!(json_data["groups"]) if json_data["groups"].present? DbDesignDynamicTable.insert_all!(json_data["tables"]) if json_data["tables"].present? DbDesignDynamicColumn.insert_all!(json_data["columns"]) if json_data["columns"].present? end render json: { status: "ok" } rescue => e render json: { status: "error", error: e. }, status: :unprocessable_entity end |
#import_schema ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'app/controllers/dbdoc_engine/dbdoc_admin/data_transfer_controller.rb', line 32 def import_schema schema_content = resolve_schema_content result = SchemaRbImportService.new( schema_content, imported_by: current_user&.username || "system" ).import! if result[:status] == "ok" render json: { status: "ok", tables_count: result[:tables_count] } else render json: { status: "error", error: result[:error] }, status: :unprocessable_entity end rescue => e render json: { status: "error", error: e. }, status: :unprocessable_entity end |