Jacopo,
Actually yes, it takes some time to follow the deprecated pattern. But it's not
so huge if you have well understood what to do. It's
well documented but you have to get through one time to understand it well. So
I'm not sure we should give up. Notably on
deprecating fields or/and Entities. The only piece we could possibly neglict is
IMO the service part (it's the longer part). If we
provide a simple SQL script I think it's enough for people to at least infer
what to do on their own DB(s).
Jacques
From: "Jacopo Cappellato" <jacopo.cappell...@hotwaxmedia.com>
In rev. 930182 I have created also the upgrade script to migrate data from old
to new fields.
By the way, are we sure it is a good idea for the project to enforce these
rules about backward compatibility?
It seems to me that the development in OFBiz is becoming more difficult every
day and this is self evident from this small
improvement that has caused a rather long thread.
We are worried about causing harm to an hypothetical group of end users that,
we suppose, don't follow the dev lists, don't have
any internal IT team that can help them in the migration, don't have a budget
for the upgrade, don't understand about the risks of
upgrading a production ERP instance and just want to do this by blindly
pressing a button.
We are sacrificing the very limited time of our brave committers against this
"myth". In my opinion we just went too far, the risk
is that we go into the mud and slow down because this plan is not compatible
with the resources of our community. There is also
the risk that we are trying to fix a problem that is not there: chances are
that the silent end users have very good budgets, very
skilled IT teams that have greatly customized their OFBiz and simple just want
to take care of the critical system upgrade on
their own.
So I would like to propose a change in our 'policies' to switch from "backward
compatibility" to "backward awareness" based on the
following principles:
1) committers are encouraged to improve existing code, clean it up, improve
data model etc... even if the changes could cause some
problems during upgrade; OFBiz has to grow efficiently in the best way possible
considering the limited group of contributors
2) however, since we know that there are companies that are willing to stay up
to date with the OFBiz growth but don't want to
invest resources in the upgrade process or staying in synch with the community,
then we will do our best to simplify the upgrade
path; this means that, if time permits, committers are encouraged to apply the
deprecation patterns (for bigger and more critical
changes), or at least write some notes to warn people about the change occurred
that could impact an upgrade etc...
3) we should also send the message out (from our site, mailing lists etc) to
the silent end users that, if they are in the process
of upgrading from an older release they should at least mention this in the
user list: in this way the community will have a
chance to provide suggestions, warn about potential issues, etc and most of all
this will help the community of end users to test
together and cooperate on upgrade scripts
What do you think?
Jacopo
On Apr 1, 2010, at 1:08 PM, Jacques Le Roux wrote:
Actually I did not read enough at
http://cwiki.apache.org/confluence/display/OFBTECH/General+Entity+Overview#GeneralEntityOverview-DeprecatedEntities
It's now done the right way (at least I hope so) at r929912
Jacques
From: "Jacques Le Roux" <jacques.le.r...@les7arts.com>
Ha, I thought it would work in any DBMS, though the syntax may vary.
I did not find a clear answer about that through Google. And as I saw a rename
used in the migration tip for R767278, I thought
it
was OK to use without dropping.
So I will re-re-do it the traditionnal way :/
Jacques
From: "David E Jones" <d...@me.com>
If you rename the column you would have to do an alter to change the data type
on that existing column with data in it, which
may
not work in all databases.
-David
On Mar 31, 2010, at 9:05 AM, Jacques Le Roux wrote:
Hi Jacopo,
Did you try the migration tip?
I found
ALTER TABLE facility RENAME COLUMN square_footage TO facility_size;
to work on my postgres intances
Jacques
From: "Jacopo Cappellato" <jacopo.cappell...@hotwaxmedia.com>
Hi Jacques,
On Mar 31, 2010, at 2:39 PM, Jacques Le Roux wrote:
Done at r929503, see also
http://cwiki.apache.org/confluence/display/OFBTECH/Revisions+Requiring+Data+Migration
after the upgrade OFBiz will automatically add the two new fields and will
leave the old one (containing data) in place.
For this reason the data migration instructions should not suggest to manually
alter that field but instead they should
suggest
to:
1) copy data ("update...") from square_footage to facility_size, setting the default
value of "square feet" in the
facilitySizeUomId field
2) drop the square_footage field
Jacopo
Jacques
From: "Jacques Le Roux" <jacques.le.r...@les7arts.com>
OK, I will revert now and introduces the 2 fields as suggested tomorrow (in
case somebody has another idea)
Jacques
David E Jones wrote:
I just checked and I messed up... there isn't a UOM field that goes with the
squareFootage field.
That being the case, I propose we add a couple of generic fields (facilitySize
as a float, facilitySizeUomId) and
deprecate
the
squareFootage field. BTW, however it's done with an explicit UOM it's possible
to specify a volume as well as an area
should
one desire (though I
wouldn't recommend it). -David
On Mar 30, 2010, at 10:01 AM, Scott Gray wrote:
As per David's email the uom field is already there, the migration service was
just a suggestion and because the uom is
already
there it isn't useful anyway. Regards
Scott
On 30/03/2010, at 9:49 AM, Jacques Le Roux wrote:
Why not simply add a new field for the UomId ? Do we really need a service to
migrate data?
It seems to me that previous integers will be simply represented with 0
decimals. At least I tested on Postgres without
any
issues at all. I tried to keep things simple, to me and to persons who will
need to update: no deprecation, just a
change.
Though I only tested on Postgres and there are maybe syntactic SQL variations...
Jacques
Scott Gray wrote:
If we want it to be a bit more generic we should probably add two new fields:
floorArea and floorAreaUomId and then
deprecate
squareFootage, perhaps with a migration service to populate the new fields with
the data from the old.
Regards
Scott
HotWax Media
http://www.hotwaxmedia.com
On 30/03/2010, at 7:22 AM, Jacques Le Roux wrote:
Hi,
I'd like to allow Facility.squareFootage to support decimals. In order to do
that, I need to change the type of the
squareFootage field from numeric to fixed-point. I can't see any issues doing
that OOTB. But in case this would be a
problem
for someone I prefer to warn.
Jacques