generator client { provider = "prisma-client-js" } datasource db { provider = "sqlite" url = env("DATABASE_URL") } model app_platform_versions { id Int @id @default(autoincrement()) app_id Int platform_id Int major_version Int @default(0) minor_version Int @default(0) patch_version Int @default(0) version_name String description String? @default("") file_type String? @default("") file_url String? @default("") file_size Int? @default(0) distribution_type String? @default("") primary_url String? @default("") fallback_url String? @default("") url_expire_time String? @default("") signature_info String? @default("") min_support_version String? @default("") os_min_version String? @default("") status Int @default(1) is_force_update Int @default(0) release_date String changelog String? @default("[]") app_platforms app_platforms @relation(fields: [platform_id], references: [id], onDelete: NoAction, onUpdate: NoAction) applications applications @relation(fields: [app_id], references: [id], onDelete: NoAction, onUpdate: NoAction) } model app_platforms { id Int @id @default(autoincrement()) app_id Int platform_type Int @default(2) description String? @default("") extend_info String? @default("") create_time String app_platform_versions app_platform_versions[] applications applications @relation(fields: [app_id], references: [id], onDelete: NoAction, onUpdate: NoAction) } model app_statistics { id Int @id @default(autoincrement()) app_id Int version_id Int? date String download_count Int? @default(0) install_count Int? @default(0) active_count Int? @default(0) crash_count Int? @default(0) create_time String applications applications @relation(fields: [app_id], references: [id], onDelete: NoAction, onUpdate: NoAction) } model applications { id Int @id @default(autoincrement()) name String package_name String? @default("") description String? @default("") logo_url String? @default("") status Int @default(1) create_time String update_time String app_platform_versions app_platform_versions[] app_platforms app_platforms[] app_statistics app_statistics[] } model board_types { id Int @id @default(autoincrement()) name String category String device_models String @default("[]") description String? @default("") status String @default("启用") } model board_versions { id Int @id @default(autoincrement()) type String version String status String @default("在产") } model bom_templates { id Int @id @default(autoincrement()) model_code String name String material_name String @default("") model String versions String @default("[]") qty Int @default(1) required Int @default(1) need_calibration Int @default(0) enforce_version_match Int @default(0) device_models device_models @relation(fields: [model_code], references: [code], onDelete: NoAction, onUpdate: NoAction) } model checklist_templates { id Int @id @default(autoincrement()) model_code String name String required Int @default(1) sort_order Int @default(0) device_models device_models @relation(fields: [model_code], references: [code], onDelete: NoAction, onUpdate: NoAction) } model config_files { id Int @id @default(autoincrement()) name String model String version String create_time String status String @default("生效") voltage String? @default("") current String? @default("") duty_cycle String? @default("") pulse_width String? @default("") iterations String? @default("") channels Int? @default(0) sample_rate String? @default("") voltage_range String? @default("") waveform String? @default("") ssid String? @default("") license_templates license_templates[] } model device_bom_records { id Int @id @default(autoincrement()) device_sn String name String material_sn String? @default("") model String? @default("") version String? @default("") calibration String? @default("无需校准") } model device_logs { id Int @id @default(autoincrement()) device_sn String action String operator String? @default("") detail String? @default("") date String } model device_models { id Int @id @default(autoincrement()) name String code String @unique(map: "sqlite_autoindex_device_models_1") status String @default("在产") description String? @default("") create_date String bom_templates bom_templates[] checklist_templates checklist_templates[] } model devices { id Int @id @default(autoincrement()) sn String @unique(map: "sqlite_autoindex_devices_1") model String type String status String @default("装配中") firmware String? @default("") production_date String customer String? @default("-") batch String? @default("") } model firmware { id Int @id @default(autoincrement()) version String board_version String? @default("-") type String date String status String @default("草稿") size String? @default("") downloads Int? @default(0) hw_range String? @default("") upgrade_type String? @default("可选") signed Int? @default(0) md5 String? @default("") sha256 String? @default("") notes String? @default("[]") model_code String? @default("") } model license_download_logs { id Int @id @default(autoincrement()) license_id Int device_sn String download_time String ip_address String? @default("") app_version String? @default("") licenses licenses @relation(fields: [license_id], references: [id], onDelete: NoAction, onUpdate: NoAction) } model license_templates { id Int @id @default(autoincrement()) name String model_code String auth_items String @default("[]") config_id Int? status String @default("启用") created_at String @default("datetime('now')") config_files config_files? @relation(fields: [config_id], references: [id], onDelete: NoAction, onUpdate: NoAction) } model licenses { id Int @id @default(autoincrement()) model String modules String expiry String? @default("") status String @default("生效") config_id Int? license_file String? @default("") device_sn String? @default("") license_download_logs license_download_logs[] } model material_categories { id Int @id @default(autoincrement()) name String @unique(map: "sqlite_autoindex_material_categories_1") description String? @default("") has_firmware Int @default(0) has_calibration Int @default(0) sort_order Int @default(0) status String @default("启用") } model materials { id Int @id @default(autoincrement()) sn String @unique(map: "sqlite_autoindex_materials_1") name String @default("") category String @default("") type String device_model String @default("") version String description String? @default("") firmware String? @default("-") status String @default("在库") device_sn String? @default("-") production_date String calib_status String? @default("-") calib_date String? @default("-") } /// The underlying table does not contain a valid unique identifier and can therefore currently not be handled by Prisma Client. model repair_orders { id String? @id sn String fault_type String status String @default("待处理") priority String @default("中") assignee String? @default("") create_date String description String? @default("") @@ignore } model scrap_records { id Int @id @default(autoincrement()) sn String model String reason String applicant String? @default("") status String @default("待审批") order_id String? @default("") date String value Int? @default(0) materials String? @default("[]") }