Hans, It has been discussed a bit recently, but I know it's easy to miss so I'm writing to remind you... Whenever changing a primary key for an entity we need to follow the Deprecation Pattern described in this document: http://docs.ofbiz.org/display/OFBTECH/General+Entity+Overview The upgrade path needs to be something more than a manual upgrade like this. What's more, this should have been explicitly discussed on the mailing list so that others could more easily share their thoughts and opinions. For example, why not just have different RateTypes for the different currencies, why do we need it explicitly on the entity? And even if we need or want it on the entity, why does it have to be part of the primary key? -David [hidden email] wrote: > Author: hansbak > Date: Mon Aug 25 07:54:27 2008 > New Revision: 688741 > > URL: http://svn.apache.org/viewvc?rev=688741&view=rev > Log: > OFBIZ-1927: add currency to partyRate entity. because this is relatively small entity, export the content add the currency to the exported file, drop the table, restart the system, and import the export file > > Modified: > ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml > ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml > ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml > > Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=688741&r1=688740&r2=688741&view=diff > ============================================================================== > --- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original) > +++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Aug 25 07:54:27 2008 > @@ -291,6 +291,9 @@ > <!-- PartyRate --> > <form name="AddPartyRate" type="single" target="createPartyRate" > focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table"> > + <actions> > + <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/> > + </actions> > <auto-fields-service service-name="createPartyRate"/> > <field name="partyId"><hidden/></field> > <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"> > @@ -306,6 +309,14 @@ > <option key="Y"/> > </drop-down> > </field> > + <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}"> > + <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}"> > + <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom"> > + <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/> > + <entity-order-by field-name="abbreviation"/> > + </entity-options> > + </drop-down> > + </field> > <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field> > </form> > > @@ -322,9 +333,10 @@ > <field name="partyId"><hidden/></field> > <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field> > <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field> > + <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field> > <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field> > <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit"> > - <hyperlink target="deletePartyRate?partyId=${partyId}&rateTypeId=${rateTypeId}&fromDate=${fromDate}" > + <hyperlink target="deletePartyRate?partyId=${partyId}&rateTypeId=${rateTypeId}&currencyUomId=${currencyUomId}&fromDate=${fromDate}" > description="${uiLabelMap.CommonDelete}" also-hidden="false"/> > </field> > </form> > > Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=688741&r1=688740&r2=688741&view=diff > ============================================================================== > --- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original) > +++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Aug 25 07:54:27 2008 > @@ -46,12 +46,14 @@ > title="Party Rate Entity"> > <field name="partyId" type="id-ne"></field> > <field name="rateTypeId" type="id-ne"></field> > + <field name="currencyUomId" type="id-ne"/> > <field name="defaultRate" type="indicator"></field> > <field name="fromDate" type="date-time"></field> > <field name="thruDate" type="date-time"></field> > <field name="rate" type="currency-amount"></field> > <prim-key field="partyId"/> > <prim-key field="rateTypeId"/> > + <prim-key field="currencyUomId"/> > <prim-key field="fromDate"/> > <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party"> > <key-map field-name="partyId"/> > @@ -59,6 +61,9 @@ > <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType"> > <key-map field-name="rateTypeId"/> > </relation> > + <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom"> > + <key-map field-name="currencyUomId" rel-field-name="uomId"/> > + </relation> > </entity> > <entity entity-name="RateType" > package-name="org.ofbiz.workeffort.timesheet" > > Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=688741&r1=688740&r2=688741&view=diff > ============================================================================== > --- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original) > +++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Aug 25 07:54:27 2008 > @@ -244,10 +244,12 @@ > > <!-- no rateAmount yet, try PartyRate --> > <if-empty field="rateAmount"> > + <property-to-field field-name="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/> > <entity-condition entity-name="PartyRate" list-name="partyRateList"> > <condition-list combine="and"> > <condition-expr field-name="partyId" env-name="timeEntry.partyId"/> > <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/> > + <condition-expr field-name="currencyUomId" env-name="timeEntry.defaultCurrencyUomId"/> > </condition-list> > <order-by field-name="-fromDate"/> > </entity-condition> > > |
Hi David,
yes you are right i missed that part about migration. That we should give migration info, sure, i completely agree with that. I was looking for a migration page and could not find any. So i created a start of such a page: http://docs.ofbiz.org/display/OFBTECH/Upgrading+OFBiz+from+earlier +revisions It is sometimes extremely difficult to extract this kind of info from the log file so i tried to get that from the last 6 months or so. I also added the migration info to the change i did. please see my comment about the currency code in the partyRate table in the ofbiz issue I created almost a week ago: https://issues.apache.org/jira/browse/OFBIZ-1927 regards, Hans On Mon, 2008-08-25 at 18:06 -0600, David E. Jones wrote: > Hans, > > It has been discussed a bit recently, but I know it's easy to miss so I'm writing to remind you... > > Whenever changing a primary key for an entity we need to follow the Deprecation Pattern described in this document: > > http://docs.ofbiz.org/display/OFBTECH/General+Entity+Overview > > The upgrade path needs to be something more than a manual upgrade like this. > > What's more, this should have been explicitly discussed on the mailing list so that others could more easily share their > thoughts and opinions. > > For example, why not just have different RateTypes for the different currencies, why do we need it explicitly on the > entity? And even if we need or want it on the entity, why does it have to be part of the primary key? > > -David > > > [hidden email] wrote: > > Author: hansbak > > Date: Mon Aug 25 07:54:27 2008 > > New Revision: 688741 > > > > URL: http://svn.apache.org/viewvc?rev=688741&view=rev > > Log: > > OFBIZ-1927: add currency to partyRate entity. because this is relatively small entity, export the content add the currency to the exported file, drop the table, restart the system, and import the export file > > > > Modified: > > ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml > > ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml > > ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml > > > > Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml > > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=688741&r1=688740&r2=688741&view=diff > > ============================================================================== > > --- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original) > > +++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Aug 25 07:54:27 2008 > > @@ -291,6 +291,9 @@ > > <!-- PartyRate --> > > <form name="AddPartyRate" type="single" target="createPartyRate" > > focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table"> > > + <actions> > > + <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/> > > + </actions> > > <auto-fields-service service-name="createPartyRate"/> > > <field name="partyId"><hidden/></field> > > <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"> > > @@ -306,6 +309,14 @@ > > <option key="Y"/> > > </drop-down> > > </field> > > + <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}"> > > + <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}"> > > + <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom"> > > + <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/> > > + <entity-order-by field-name="abbreviation"/> > > + </entity-options> > > + </drop-down> > > + </field> > > <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field> > > </form> > > > > @@ -322,9 +333,10 @@ > > <field name="partyId"><hidden/></field> > > <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field> > > <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field> > > + <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field> > > <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field> > > <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit"> > > - <hyperlink target="deletePartyRate?partyId=${partyId}&rateTypeId=${rateTypeId}&fromDate=${fromDate}" > > + <hyperlink target="deletePartyRate?partyId=${partyId}&rateTypeId=${rateTypeId}&currencyUomId=${currencyUomId}&fromDate=${fromDate}" > > description="${uiLabelMap.CommonDelete}" also-hidden="false"/> > > </field> > > </form> > > > > Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml > > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=688741&r1=688740&r2=688741&view=diff > > ============================================================================== > > --- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original) > > +++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Aug 25 07:54:27 2008 > > @@ -46,12 +46,14 @@ > > title="Party Rate Entity"> > > <field name="partyId" type="id-ne"></field> > > <field name="rateTypeId" type="id-ne"></field> > > + <field name="currencyUomId" type="id-ne"/> > > <field name="defaultRate" type="indicator"></field> > > <field name="fromDate" type="date-time"></field> > > <field name="thruDate" type="date-time"></field> > > <field name="rate" type="currency-amount"></field> > > <prim-key field="partyId"/> > > <prim-key field="rateTypeId"/> > > + <prim-key field="currencyUomId"/> > > <prim-key field="fromDate"/> > > <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party"> > > <key-map field-name="partyId"/> > > @@ -59,6 +61,9 @@ > > <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType"> > > <key-map field-name="rateTypeId"/> > > </relation> > > + <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom"> > > + <key-map field-name="currencyUomId" rel-field-name="uomId"/> > > + </relation> > > </entity> > > <entity entity-name="RateType" > > package-name="org.ofbiz.workeffort.timesheet" > > > > Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml > > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=688741&r1=688740&r2=688741&view=diff > > ============================================================================== > > --- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original) > > +++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Aug 25 07:54:27 2008 > > @@ -244,10 +244,12 @@ > > > > <!-- no rateAmount yet, try PartyRate --> > > <if-empty field="rateAmount"> > > + <property-to-field field-name="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/> > > <entity-condition entity-name="PartyRate" list-name="partyRateList"> > > <condition-list combine="and"> > > <condition-expr field-name="partyId" env-name="timeEntry.partyId"/> > > <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/> > > + <condition-expr field-name="currencyUomId" env-name="timeEntry.defaultCurrencyUomId"/> > > </condition-list> > > <order-by field-name="-fromDate"/> > > </entity-condition> > > > > |
Free forum by Nabble | Edit this page |