update data model

This commit is contained in:
Kameron Kenny 2025-03-21 10:10:24 -04:00
parent 76f850e256
commit 1f763ba729
1 changed files with 33 additions and 1 deletions

View File

@ -14,7 +14,17 @@
<attribute name="pricePerGalon" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="fuelLog" inverseEntity="Vehicle"/>
</entity>
<entity name="Item" representedClassName="Item" syncable="YES" codeGenerationType="class"/>
<entity name="Issues" representedClassName="Issues" syncable="YES" codeGenerationType="class">
<attribute name="id" attributeType="UUID" usesScalarValueType="NO"/>
<attribute name="issue" attributeType="String"/>
<attribute name="issueDescription" optional="YES" attributeType="String"/>
<attribute name="notes" optional="YES" attributeType="String"/>
<attribute name="repaired" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
<attribute name="timestamp" attributeType="Date" usesScalarValueType="NO"/>
<relationship name="mainenance" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MaintenanceEvent" inverseName="issue" inverseEntity="MaintenanceEvent"/>
<relationship name="parts" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Parts" inverseName="issue" inverseEntity="Parts"/>
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="issue" inverseEntity="Vehicle"/>
</entity>
<entity name="MaintenanceEvent" representedClassName="MaintenanceEvent" isAbstract="YES" syncable="YES" codeGenerationType="class">
<attribute name="cost" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
<attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
@ -24,6 +34,25 @@
<attribute name="locationName" optional="YES" attributeType="String"/>
<attribute name="notes" optional="YES" attributeType="String"/>
<attribute name="odometer" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
<relationship name="issue" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Issues" inverseName="mainenance" inverseEntity="Issues"/>
<relationship name="parts" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Parts" inverseName="maintenance" inverseEntity="Parts"/>
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="maintenance" inverseEntity="Vehicle"/>
</entity>
<entity name="Parts" representedClassName="Parts" syncable="YES" codeGenerationType="class">
<attribute name="id" attributeType="UUID" usesScalarValueType="NO"/>
<attribute name="partBrand" optional="YES"/>
<attribute name="partLink" optional="YES" attributeType="URI"/>
<attribute name="partModel" optional="YES"/>
<attribute name="partName" attributeType="String"/>
<attribute name="pricePerUnit" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
<attribute name="purchased" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
<attribute name="purchaseDate" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="purchasedFrom" optional="YES" attributeType="String"/>
<attribute name="totalCost" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
<attribute name="units" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
<relationship name="issue" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Issues" inverseName="parts" inverseEntity="Issues"/>
<relationship name="maintenance" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MaintenanceEvent" inverseName="parts" inverseEntity="MaintenanceEvent"/>
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="parts" inverseEntity="Vehicle"/>
</entity>
<entity name="Vehicle" representedClassName="Vehicle" syncable="YES">
<attribute name="color" attributeType="String" defaultValueString=""/>
@ -52,5 +81,8 @@
<attribute name="wheelSizeWidth" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
<attribute name="year" attributeType="String" minValueString="4" maxValueString="4" defaultValueString="2025" regularExpressionString="[0-9][0-9][0-9][0-9]"/>
<relationship name="fuelLog" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="FuelLog" inverseName="vehicle" inverseEntity="FuelLog"/>
<relationship name="issue" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Issues" inverseName="vehicle" inverseEntity="Issues"/>
<relationship name="maintenance" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MaintenanceEvent" inverseName="vehicle" inverseEntity="MaintenanceEvent"/>
<relationship name="parts" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Parts" inverseName="vehicle" inverseEntity="Parts"/>
</entity>
</model>