table_name | column_name | data_type | is_nullable | column_default -------------------------------+----------------------------+-----------------------------+-------------+-------------------------------------------------------------- bolt_details | id | integer | NO | nextval('bolt_details_id_seq'::regclass) bolt_details | material_id | integer | YES | bolt_details | file_id | integer | YES | bolt_details | bolt_type | character varying | YES | bolt_details | thread_type | character varying | YES | bolt_details | diameter | character varying | YES | bolt_details | length | character varying | YES | bolt_details | material_standard | character varying | YES | bolt_details | material_grade | character varying | YES | bolt_details | coating_type | character varying | YES | bolt_details | pressure_rating | character varying | YES | bolt_details | includes_nut | boolean | YES | bolt_details | includes_washer | boolean | YES | bolt_details | nut_type | character varying | YES | bolt_details | washer_type | character varying | YES | bolt_details | classification_confidence | double precision | YES | bolt_details | additional_info | jsonb | YES | bolt_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP bolt_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP confirmed_purchase_items | id | integer | NO | nextval('confirmed_purchase_items_id_seq'::regclass) confirmed_purchase_items | confirmation_id | integer | YES | confirmed_purchase_items | item_code | character varying | NO | confirmed_purchase_items | category | character varying | NO | confirmed_purchase_items | specification | text | YES | confirmed_purchase_items | size | character varying | YES | confirmed_purchase_items | material | character varying | YES | confirmed_purchase_items | bom_quantity | numeric | NO | 0 confirmed_purchase_items | calculated_qty | numeric | NO | 0 confirmed_purchase_items | unit | character varying | NO | 'EA'::character varying confirmed_purchase_items | safety_factor | numeric | NO | 1.0 confirmed_purchase_items | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP files | id | integer | NO | nextval('files_id_seq'::regclass) files | project_id | integer | YES | files | filename | character varying | NO | files | original_filename | character varying | NO | files | file_path | character varying | NO | files | revision | character varying | YES | 'Rev.0'::character varying files | upload_date | timestamp without time zone | YES | CURRENT_TIMESTAMP files | uploaded_by | character varying | YES | files | file_type | character varying | YES | files | file_size | integer | YES | files | is_active | boolean | YES | true files | purchase_confirmed | boolean | YES | false files | confirmed_at | timestamp without time zone | YES | files | confirmed_by | character varying | YES | files | job_no | character varying | YES | files | bom_name | character varying | YES | files | description | text | YES | files | parsed_count | integer | YES | 0 fitting_details | id | integer | NO | nextval('fitting_details_id_seq'::regclass) fitting_details | material_id | integer | YES | fitting_details | file_id | integer | YES | fitting_details | fitting_type | character varying | YES | fitting_details | fitting_subtype | character varying | YES | fitting_details | connection_method | character varying | YES | fitting_details | connection_code | character varying | YES | fitting_details | pressure_rating | character varying | YES | fitting_details | max_pressure | character varying | YES | fitting_details | manufacturing_method | character varying | YES | fitting_details | material_standard | character varying | YES | fitting_details | material_grade | character varying | YES | fitting_details | material_type | character varying | YES | fitting_details | main_size | character varying | YES | fitting_details | reduced_size | character varying | YES | fitting_details | length_mm | numeric | YES | fitting_details | schedule | character varying | YES | fitting_details | classification_confidence | double precision | YES | fitting_details | additional_info | jsonb | YES | fitting_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP fitting_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP flange_details | id | integer | NO | nextval('flange_details_id_seq'::regclass) flange_details | material_id | integer | YES | flange_details | file_id | integer | YES | flange_details | flange_type | character varying | YES | flange_details | facing_type | character varying | YES | flange_details | pressure_rating | character varying | YES | flange_details | material_standard | character varying | YES | flange_details | material_grade | character varying | YES | flange_details | size_inches | character varying | YES | flange_details | bolt_hole_count | integer | YES | flange_details | bolt_hole_size | character varying | YES | flange_details | classification_confidence | double precision | YES | flange_details | additional_info | jsonb | YES | flange_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP flange_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP gasket_details | id | integer | NO | nextval('gasket_details_id_seq'::regclass) gasket_details | material_id | integer | YES | gasket_details | file_id | integer | YES | gasket_details | gasket_type | character varying | YES | gasket_details | gasket_subtype | character varying | YES | gasket_details | material_type | character varying | YES | gasket_details | filler_material | character varying | YES | gasket_details | size_inches | character varying | YES | gasket_details | pressure_rating | character varying | YES | gasket_details | thickness | character varying | YES | gasket_details | temperature_range | character varying | YES | gasket_details | fire_safe | boolean | YES | gasket_details | classification_confidence | double precision | YES | gasket_details | additional_info | jsonb | YES | gasket_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP gasket_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP instrument_details | id | integer | NO | nextval('instrument_details_id_seq'::regclass) instrument_details | material_id | integer | YES | instrument_details | file_id | integer | YES | instrument_details | instrument_type | character varying | YES | instrument_details | instrument_subtype | character varying | YES | instrument_details | measurement_type | character varying | YES | instrument_details | measurement_range | character varying | YES | instrument_details | accuracy | character varying | YES | instrument_details | connection_type | character varying | YES | instrument_details | connection_size | character varying | YES | instrument_details | body_material | character varying | YES | instrument_details | wetted_parts_material | character varying | YES | instrument_details | electrical_rating | character varying | YES | instrument_details | output_signal | character varying | YES | instrument_details | classification_confidence | double precision | YES | instrument_details | additional_info | jsonb | YES | instrument_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP instrument_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP jobs | job_no | character varying | NO | jobs | job_name | character varying | NO | jobs | client_name | character varying | NO | jobs | end_user | character varying | YES | jobs | epc_company | character varying | YES | jobs | project_site | character varying | YES | jobs | contract_date | date | YES | jobs | delivery_date | date | YES | jobs | delivery_terms | character varying | YES | jobs | status | character varying | YES | '진행중'::character varying jobs | delivery_completed_date | date | YES | jobs | project_closed_date | date | YES | jobs | description | text | YES | jobs | created_by | character varying | YES | jobs | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP jobs | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP jobs | is_active | boolean | YES | true jobs | updated_by | character varying | YES | jobs | assigned_to | character varying | YES | jobs | project_type | character varying | NO | '냉동기'::character varying login_logs | log_id | integer | NO | nextval('login_logs_log_id_seq'::regclass) login_logs | user_id | integer | YES | login_logs | login_time | timestamp without time zone | YES | CURRENT_TIMESTAMP login_logs | ip_address | character varying | YES | login_logs | user_agent | text | YES | login_logs | login_status | character varying | YES | login_logs | failure_reason | character varying | YES | login_logs | session_duration | integer | YES | login_logs | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_categories | id | integer | NO | nextval('material_categories_id_seq'::regclass) material_categories | standard_id | integer | YES | material_categories | category_code | character varying | NO | material_categories | category_name | character varying | NO | material_categories | description | text | YES | material_categories | is_active | boolean | YES | true material_categories | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_categories | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_comparison_details | id | integer | NO | nextval('material_comparison_details_id_seq'::regclass) material_comparison_details | comparison_id | integer | NO | material_comparison_details | material_hash | character varying | NO | material_comparison_details | change_type | character varying | NO | material_comparison_details | description | text | NO | material_comparison_details | size_spec | character varying | YES | material_comparison_details | material_grade | character varying | YES | material_comparison_details | previous_quantity | numeric | YES | 0 material_comparison_details | current_quantity | numeric | YES | 0 material_comparison_details | quantity_diff | numeric | YES | 0 material_comparison_details | additional_purchase_needed | numeric | YES | 0 material_comparison_details | classified_category | character varying | YES | material_comparison_details | classification_confidence | numeric | YES | material_comparison_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_grades | id | integer | NO | nextval('material_grades_id_seq'::regclass) material_grades | specification_id | integer | YES | material_grades | grade_code | character varying | NO | material_grades | grade_name | character varying | YES | material_grades | composition | character varying | YES | material_grades | applications | character varying | YES | material_grades | temp_max | character varying | YES | material_grades | temp_range | character varying | YES | material_grades | yield_strength | character varying | YES | material_grades | tensile_strength | character varying | YES | material_grades | corrosion_resistance | character varying | YES | material_grades | stabilizer | character varying | YES | material_grades | base_grade | character varying | YES | material_grades | is_active | boolean | YES | true material_grades | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_grades | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_patterns | id | integer | NO | nextval('material_patterns_id_seq'::regclass) material_patterns | specification_id | integer | YES | material_patterns | pattern | text | NO | material_patterns | description | character varying | YES | material_patterns | priority | integer | YES | 1 material_patterns | is_active | boolean | YES | true material_patterns | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_patterns | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_purchase_mapping | id | integer | NO | nextval('material_purchase_mapping_id_seq'::regclass) material_purchase_mapping | material_id | integer | NO | material_purchase_mapping | purchase_item_id | integer | NO | material_purchase_mapping | quantity_ratio | numeric | YES | 1.0 material_purchase_mapping | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_purchase_tracking | id | integer | NO | nextval('material_purchase_tracking_id_seq'::regclass) material_purchase_tracking | material_hash | character varying | NO | material_purchase_tracking | original_description | text | NO | material_purchase_tracking | size_spec | character varying | YES | material_purchase_tracking | material_grade | character varying | YES | material_purchase_tracking | bom_quantity | numeric | NO | material_purchase_tracking | confirmed_quantity | numeric | YES | material_purchase_tracking | purchase_quantity | numeric | YES | material_purchase_tracking | status | character varying | YES | 'pending'::character varying material_purchase_tracking | confirmed_by | character varying | YES | material_purchase_tracking | confirmed_at | timestamp without time zone | YES | material_purchase_tracking | ordered_by | character varying | YES | material_purchase_tracking | ordered_at | timestamp without time zone | YES | material_purchase_tracking | approved_by | character varying | YES | material_purchase_tracking | approved_at | timestamp without time zone | YES | material_purchase_tracking | job_no | character varying | YES | material_purchase_tracking | revision | character varying | YES | material_purchase_tracking | file_id | integer | YES | material_purchase_tracking | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_purchase_tracking | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_revisions_comparison | id | integer | NO | nextval('material_revisions_comparison_id_seq'::regclass) material_revisions_comparison | job_no | character varying | NO | material_revisions_comparison | current_revision | character varying | NO | material_revisions_comparison | previous_revision | character varying | NO | material_revisions_comparison | current_file_id | integer | NO | material_revisions_comparison | previous_file_id | integer | NO | material_revisions_comparison | total_current_items | integer | YES | 0 material_revisions_comparison | total_previous_items | integer | YES | 0 material_revisions_comparison | new_items_count | integer | YES | 0 material_revisions_comparison | modified_items_count | integer | YES | 0 material_revisions_comparison | removed_items_count | integer | YES | 0 material_revisions_comparison | unchanged_items_count | integer | YES | 0 material_revisions_comparison | comparison_details | jsonb | YES | material_revisions_comparison | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_revisions_comparison | created_by | character varying | YES | material_specifications | id | integer | NO | nextval('material_specifications_id_seq'::regclass) material_specifications | category_id | integer | YES | material_specifications | spec_code | character varying | NO | material_specifications | spec_name | character varying | NO | material_specifications | description | text | YES | material_specifications | material_type | character varying | YES | material_specifications | manufacturing | character varying | YES | material_specifications | pressure_rating | character varying | YES | material_specifications | is_active | boolean | YES | true material_specifications | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_specifications | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_standards | id | integer | NO | nextval('material_standards_id_seq'::regclass) material_standards | standard_code | character varying | NO | material_standards | standard_name | character varying | NO | material_standards | description | text | YES | material_standards | country | character varying | YES | material_standards | is_active | boolean | YES | true material_standards | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_standards | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_tubing_mapping | id | integer | NO | nextval('material_tubing_mapping_id_seq'::regclass) material_tubing_mapping | material_id | integer | YES | material_tubing_mapping | tubing_product_id | integer | YES | material_tubing_mapping | confidence_score | numeric | YES | material_tubing_mapping | mapping_method | character varying | YES | material_tubing_mapping | mapped_by | character varying | YES | material_tubing_mapping | mapped_at | timestamp without time zone | YES | CURRENT_TIMESTAMP material_tubing_mapping | required_length_m | numeric | YES | material_tubing_mapping | calculated_quantity | numeric | YES | material_tubing_mapping | is_verified | boolean | YES | false material_tubing_mapping | verified_by | character varying | YES | material_tubing_mapping | verified_at | timestamp without time zone | YES | material_tubing_mapping | notes | text | YES | material_tubing_mapping | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP materials | id | integer | NO | nextval('materials_id_seq'::regclass) materials | file_id | integer | YES | materials | line_number | integer | YES | materials | original_description | text | NO | materials | classified_category | character varying | YES | materials | classified_subcategory | character varying | YES | materials | material_grade | character varying | YES | materials | schedule | character varying | YES | materials | size_spec | character varying | YES | materials | quantity | numeric | NO | materials | unit | character varying | NO | materials | drawing_name | character varying | YES | materials | area_code | character varying | YES | materials | line_no | character varying | YES | materials | classification_confidence | numeric | YES | materials | classification_details | jsonb | YES | materials | is_verified | boolean | YES | false materials | verified_by | character varying | YES | materials | verified_at | timestamp without time zone | YES | materials | drawing_reference | character varying | YES | materials | notes | text | YES | materials | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP materials | main_nom | character varying | YES | materials | red_nom | character varying | YES | materials | full_material_grade | text | YES | materials | row_number | integer | YES | materials | length | numeric | YES | materials | purchase_confirmed | boolean | YES | false materials | confirmed_quantity | numeric | YES | materials | purchase_status | character varying | YES | materials | purchase_confirmed_by | character varying | YES | materials | purchase_confirmed_at | timestamp without time zone | YES | materials | revision_status | character varying | YES | materials | material_hash | character varying | YES | materials | normalized_description | text | YES | materials | brand | character varying | YES | materials | user_requirement | text | YES | materials | is_active | boolean | YES | true materials | total_length | numeric | YES | permissions | permission_id | integer | NO | nextval('permissions_permission_id_seq'::regclass) permissions | permission_name | character varying | NO | permissions | description | text | YES | permissions | module | character varying | YES | permissions | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP pipe_details | id | integer | NO | nextval('pipe_details_id_seq'::regclass) pipe_details | material_id | integer | YES | pipe_details | file_id | integer | YES | pipe_details | outer_diameter | character varying | YES | pipe_details | schedule | character varying | YES | pipe_details | material_spec | character varying | YES | pipe_details | manufacturing_method | character varying | YES | pipe_details | end_preparation | character varying | YES | pipe_details | length_mm | numeric | YES | pipe_details | classification_confidence | double precision | YES | pipe_details | additional_info | jsonb | YES | pipe_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP pipe_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP pipe_end_preparations | id | integer | NO | nextval('pipe_end_preparations_id_seq'::regclass) pipe_end_preparations | material_id | integer | NO | pipe_end_preparations | file_id | integer | NO | pipe_end_preparations | end_preparation_type | character varying | YES | 'PBE'::character varying pipe_end_preparations | end_preparation_code | character varying | YES | pipe_end_preparations | machining_required | boolean | YES | false pipe_end_preparations | cutting_note | text | YES | pipe_end_preparations | original_description | text | NO | pipe_end_preparations | clean_description | text | NO | pipe_end_preparations | confidence | double precision | YES | 0.0 pipe_end_preparations | matched_pattern | character varying | YES | pipe_end_preparations | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP pipe_end_preparations | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP projects | id | integer | NO | nextval('projects_id_seq'::regclass) projects | official_project_code | character varying | YES | projects | project_name | character varying | NO | projects | client_name | character varying | YES | projects | design_project_code | character varying | YES | projects | design_project_name | character varying | YES | projects | is_code_matched | boolean | YES | false projects | matched_by | character varying | YES | projects | matched_at | timestamp without time zone | YES | projects | status | character varying | YES | 'active'::character varying projects | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP projects | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP projects | description | text | YES | projects | notes | text | YES | purchase_confirmations | id | integer | NO | nextval('purchase_confirmations_id_seq'::regclass) purchase_confirmations | job_no | character varying | NO | purchase_confirmations | file_id | integer | YES | purchase_confirmations | bom_name | character varying | NO | purchase_confirmations | revision | character varying | NO | 'Rev.0'::character varying purchase_confirmations | confirmed_at | timestamp without time zone | NO | purchase_confirmations | confirmed_by | character varying | NO | purchase_confirmations | is_active | boolean | NO | true purchase_confirmations | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_confirmations | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_items | id | integer | NO | nextval('purchase_items_id_seq'::regclass) purchase_items | item_code | character varying | NO | purchase_items | category | character varying | NO | purchase_items | specification | text | NO | purchase_items | material_spec | character varying | YES | purchase_items | size_spec | character varying | YES | purchase_items | unit | character varying | NO | purchase_items | bom_quantity | numeric | NO | purchase_items | safety_factor | numeric | YES | 1.10 purchase_items | minimum_order_qty | numeric | YES | 0 purchase_items | order_unit_qty | numeric | YES | 1 purchase_items | calculated_qty | numeric | YES | purchase_items | cutting_loss | numeric | YES | 0 purchase_items | standard_length | numeric | YES | purchase_items | pipes_count | integer | YES | purchase_items | waste_length | numeric | YES | purchase_items | detailed_spec | jsonb | YES | purchase_items | preferred_supplier | character varying | YES | purchase_items | last_unit_price | numeric | YES | purchase_items | currency | character varying | YES | 'KRW'::character varying purchase_items | lead_time_days | integer | YES | 30 purchase_items | job_no | character varying | NO | purchase_items | revision | character varying | YES | 'Rev.0'::character varying purchase_items | file_id | integer | YES | purchase_items | is_active | boolean | YES | true purchase_items | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_items | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_items | created_by | character varying | YES | purchase_items | updated_by | character varying | YES | purchase_items | approved_by | character varying | YES | purchase_items | approved_at | timestamp without time zone | YES | purchase_request_items | item_id | integer | NO | nextval('purchase_request_items_item_id_seq'::regclass) purchase_request_items | request_id | integer | YES | purchase_request_items | material_id | integer | YES | purchase_request_items | description | text | NO | purchase_request_items | category | character varying | YES | purchase_request_items | subcategory | character varying | YES | purchase_request_items | material_grade | character varying | YES | purchase_request_items | size_spec | character varying | YES | purchase_request_items | quantity | numeric | NO | purchase_request_items | unit | character varying | NO | purchase_request_items | drawing_name | character varying | YES | purchase_request_items | notes | text | YES | purchase_request_items | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_requests | request_id | integer | NO | nextval('purchase_requests_request_id_seq'::regclass) purchase_requests | request_no | character varying | NO | purchase_requests | job_no | character varying | NO | purchase_requests | project_name | character varying | YES | purchase_requests | requested_by | integer | YES | purchase_requests | requested_by_username | character varying | YES | purchase_requests | request_date | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_requests | status | character varying | YES | 'pending'::character varying purchase_requests | total_items | integer | YES | 0 purchase_requests | notes | text | YES | purchase_requests | approved_by | integer | YES | purchase_requests | approved_by_username | character varying | YES | purchase_requests | approved_at | timestamp without time zone | YES | purchase_requests | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_requests | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP purchase_requests | file_id | integer | YES | requirement_types | id | integer | NO | nextval('requirement_types_id_seq'::regclass) requirement_types | type_code | character varying | NO | requirement_types | type_name | character varying | NO | requirement_types | category | character varying | NO | requirement_types | description | text | YES | requirement_types | is_active | boolean | YES | true requirement_types | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP role_permissions | role_permission_id | integer | NO | nextval('role_permissions_role_permission_id_seq'::regclass) role_permissions | role | character varying | NO | role_permissions | permission_id | integer | YES | role_permissions | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_material_details | id | integer | NO | nextval('special_material_details_id_seq'::regclass) special_material_details | material_id | integer | YES | special_material_details | file_id | integer | YES | special_material_details | special_type | character varying | YES | special_material_details | special_subtype | character varying | YES | special_material_details | material_standard | character varying | YES | special_material_details | material_grade | character varying | YES | special_material_details | specifications | text | YES | special_material_details | dimensions | character varying | YES | special_material_details | weight_kg | numeric | YES | special_material_details | classification_confidence | numeric | YES | special_material_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_material_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_material_grades | id | integer | NO | nextval('special_material_grades_id_seq'::regclass) special_material_grades | material_id | integer | YES | special_material_grades | grade_code | character varying | NO | special_material_grades | composition | character varying | YES | special_material_grades | applications | character varying | YES | special_material_grades | temp_max | character varying | YES | special_material_grades | strength | character varying | YES | special_material_grades | purity | character varying | YES | special_material_grades | corrosion | character varying | YES | special_material_grades | is_active | boolean | YES | true special_material_grades | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_material_grades | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_material_patterns | id | integer | NO | nextval('special_material_patterns_id_seq'::regclass) special_material_patterns | material_id | integer | YES | special_material_patterns | pattern | text | NO | special_material_patterns | description | character varying | YES | special_material_patterns | priority | integer | YES | 1 special_material_patterns | is_active | boolean | YES | true special_material_patterns | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_material_patterns | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_materials | id | integer | NO | nextval('special_materials_id_seq'::regclass) special_materials | material_type | character varying | NO | special_materials | material_name | character varying | NO | special_materials | description | text | YES | special_materials | composition | character varying | YES | special_materials | applications | text | YES | special_materials | temp_max | character varying | YES | special_materials | manufacturing | character varying | YES | special_materials | is_active | boolean | YES | true special_materials | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP special_materials | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP support_details | id | integer | NO | nextval('support_details_id_seq'::regclass) support_details | material_id | integer | YES | support_details | file_id | integer | YES | support_details | support_type | character varying | YES | support_details | support_subtype | character varying | YES | support_details | load_rating | character varying | YES | support_details | load_capacity | character varying | YES | support_details | material_standard | character varying | YES | support_details | material_grade | character varying | YES | support_details | pipe_size | character varying | YES | support_details | length_mm | numeric | YES | support_details | width_mm | numeric | YES | support_details | height_mm | numeric | YES | support_details | classification_confidence | numeric | YES | support_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP support_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_categories | id | integer | NO | nextval('tubing_categories_id_seq'::regclass) tubing_categories | category_code | character varying | NO | tubing_categories | category_name | character varying | NO | tubing_categories | description | text | YES | tubing_categories | is_active | boolean | YES | true tubing_categories | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_categories | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_manufacturers | id | integer | NO | nextval('tubing_manufacturers_id_seq'::regclass) tubing_manufacturers | manufacturer_code | character varying | NO | tubing_manufacturers | manufacturer_name | character varying | NO | tubing_manufacturers | country | character varying | YES | tubing_manufacturers | website | character varying | YES | tubing_manufacturers | contact_info | jsonb | YES | tubing_manufacturers | quality_certs | jsonb | YES | tubing_manufacturers | is_active | boolean | YES | true tubing_manufacturers | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_manufacturers | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_products | id | integer | NO | nextval('tubing_products_id_seq'::regclass) tubing_products | specification_id | integer | YES | tubing_products | manufacturer_id | integer | YES | tubing_products | manufacturer_part_number | character varying | NO | tubing_products | manufacturer_product_name | character varying | YES | tubing_products | list_price | numeric | YES | tubing_products | currency | character varying | YES | 'KRW'::character varying tubing_products | lead_time_days | integer | YES | tubing_products | minimum_order_qty | numeric | YES | tubing_products | standard_packaging_qty | numeric | YES | tubing_products | availability_status | character varying | YES | tubing_products | last_price_update | date | YES | tubing_products | datasheet_url | character varying | YES | tubing_products | catalog_page | character varying | YES | tubing_products | notes | text | YES | tubing_products | is_active | boolean | YES | true tubing_products | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_products | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_specifications | id | integer | NO | nextval('tubing_specifications_id_seq'::regclass) tubing_specifications | category_id | integer | YES | tubing_specifications | spec_code | character varying | NO | tubing_specifications | spec_name | character varying | NO | tubing_specifications | outer_diameter_mm | numeric | YES | tubing_specifications | wall_thickness_mm | numeric | YES | tubing_specifications | inner_diameter_mm | numeric | YES | tubing_specifications | material_grade | character varying | YES | tubing_specifications | material_standard | character varying | YES | tubing_specifications | max_pressure_bar | numeric | YES | tubing_specifications | max_temperature_c | numeric | YES | tubing_specifications | min_temperature_c | numeric | YES | tubing_specifications | standard_length_m | numeric | YES | tubing_specifications | bend_radius_min_mm | numeric | YES | tubing_specifications | surface_finish | character varying | YES | tubing_specifications | hardness | character varying | YES | tubing_specifications | notes | text | YES | tubing_specifications | is_active | boolean | YES | true tubing_specifications | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP tubing_specifications | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP user_activity_logs | id | integer | NO | nextval('user_activity_logs_id_seq'::regclass) user_activity_logs | user_id | integer | YES | user_activity_logs | username | character varying | NO | user_activity_logs | activity_type | character varying | NO | user_activity_logs | activity_description | text | YES | user_activity_logs | target_id | integer | YES | user_activity_logs | target_type | character varying | YES | user_activity_logs | ip_address | character varying | YES | user_activity_logs | user_agent | text | YES | user_activity_logs | metadata | jsonb | YES | user_activity_logs | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP user_requirements | id | integer | NO | nextval('user_requirements_id_seq'::regclass) user_requirements | file_id | integer | NO | user_requirements | material_id | integer | YES | user_requirements | requirement_type | character varying | NO | user_requirements | requirement_title | character varying | NO | user_requirements | requirement_description | text | YES | user_requirements | requirement_spec | text | YES | user_requirements | status | character varying | YES | 'PENDING'::character varying user_requirements | priority | character varying | YES | 'NORMAL'::character varying user_requirements | assigned_to | character varying | YES | user_requirements | due_date | date | YES | user_requirements | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP user_requirements | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP user_sessions | session_id | integer | NO | nextval('user_sessions_session_id_seq'::regclass) user_sessions | user_id | integer | YES | user_sessions | refresh_token | character varying | NO | user_sessions | expires_at | timestamp without time zone | NO | user_sessions | ip_address | character varying | YES | user_sessions | user_agent | text | YES | user_sessions | is_active | boolean | YES | true user_sessions | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP user_sessions | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP users | user_id | integer | NO | nextval('users_user_id_seq'::regclass) users | username | character varying | NO | users | password | character varying | NO | users | name | character varying | NO | users | email | character varying | YES | users | role | character varying | YES | 'user'::character varying users | access_level | character varying | YES | 'worker'::character varying users | is_active | boolean | YES | true users | failed_login_attempts | integer | YES | 0 users | locked_until | timestamp without time zone | YES | users | department | character varying | YES | users | position | character varying | YES | users | phone | character varying | YES | users | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP users | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP users | last_login_at | timestamp without time zone | YES | users | status | character varying | YES | 'active'::character varying valve_details | id | integer | NO | nextval('valve_details_id_seq'::regclass) valve_details | material_id | integer | YES | valve_details | file_id | integer | YES | valve_details | valve_type | character varying | YES | valve_details | valve_subtype | character varying | YES | valve_details | actuator_type | character varying | YES | valve_details | connection_method | character varying | YES | valve_details | pressure_rating | character varying | YES | valve_details | pressure_class | character varying | YES | valve_details | body_material | character varying | YES | valve_details | trim_material | character varying | YES | valve_details | size_inches | character varying | YES | valve_details | fire_safe | boolean | YES | valve_details | low_temp_service | boolean | YES | valve_details | special_features | jsonb | YES | valve_details | classification_confidence | double precision | YES | valve_details | additional_info | jsonb | YES | valve_details | created_at | timestamp without time zone | YES | CURRENT_TIMESTAMP valve_details | updated_at | timestamp without time zone | YES | CURRENT_TIMESTAMP (616 rows)