Switched-off autoCreateSchema by keeping validation on and it started. But when
I access the list page of any domain object, its giving validation
Error for a domain object.
Expected primary key for table gemsods."m_sector"."sector_id" 6 not found in
existing keys 255
org.datanucleus.store.rdbms.exceptions.WrongPrecisionException: Expected
primary key for table gemsods."m_sector"."sector_id" 6 not found in existing
keys 255
at
org.datanucleus.store.rdbms.table.ColumnImpl.validate(ColumnImpl.java:537)
at
org.datanucleus.store.rdbms.table.TableImpl.validateColumns(TableImpl.java:230)
I rectified this issue for this field by adding length attribute same as that
defined in its mapped table. And it started throwing the same kind of error for
other fields as well.
So I set validationColumns to false. But still validation errors are getting
thrown.
BR
Ranganath Varma
-----Original Message-----
From: Dan Haywood [mailto:[email protected]]
Sent: Wednesday, March 05, 2014 3:38 PM
To: users
Subject: Re: Creating foreign key constarints again with autoCreateSchema= true
You might want to experiment with validating the schema rather than
auto-creating it; see the DN docs [2]
[2] http://www.datanucleus.org/products/datanucleus/jdo/schema.html
On 5 March 2014 10:01, <[email protected]> wrote:
> Hi Dan,
>
> Even after using the constraint name at the database side in
> @ForeignKey(name="om_geo_location_parent_location_id"), it is trying
> to create the FK constraint again but with the same name and hence
> error
> occurred:
>
>
> 15:22:53,852 [Schema main DEBUG] Creating foreign
> key constraint : "om_geo_location_parent_location_id" in catalog ""
> schema "gemsods"
> 15:22:53,852 [Schema main DEBUG] ALTER TABLE
> gemsods."om_geo_location" ADD CONSTRAINT
> "om_geo_location_parent_location_id" FOREIGN KEY
> ("parent_location_id","org_id") REFERENCES gemsods."om_geo_location"
> ("location_id","org_id") ON DELETE RESTRICT ON UPDATE RESTRICT
> INITIALLY DEFERRED
> 15:22:53,865 [Schema main DEBUG] An error occurred
> while auto-creating schema elements - rolling back
>
> One more thing: The other FK works with a match of constraint name. It
> doesn't create FK for it again (as seen in the log).This FK is to
> other table.
>
> Problem is coming with self-referential case.
>
> BR
> Ranganath Varma
>
> -----Original Message-----
> From: Dan Haywood [mailto:[email protected]]
> Sent: Wednesday, March 05, 2014 2:54 PM
> To: users
> Subject: Re: Creating foreign key constarints again with
> autoCreateSchema= true
>
> On 5 March 2014 09:04, <[email protected]> wrote:
>
> > Hi,
> >
> > I have database schema is present already. And I have created domain
> > objects mapping to the tables with JDO annotations.
> >
> > I have a table with two foreign keys already present, one to the
> > other table and second to the self. And there are respective domain
> > objects mapped to these tables.
> >
> > When I start Isis-project webappp with autoCreateSchema= true, it is
> > creating again two more foreign keys constraints with different
> > names
> >
> > Why it is creating foreign keys when already present?
> >
>
> I would imagine because it uses the constraint names to match.
>
>
> > How to avoid this issue? Please help.
> >
>
> It is possible to specify the constraint name, I reckon that'll fix it.
> Check the JDO docs [1]
>
>
> Dan
>
> [1]
> http://www.datanucleus.org/products/datanucleus/jdo/orm/constraints.ht
> ml
>
>
> > BR
> > Ranganath Varma
> >
> >
>
> The information contained in this electronic message and any
> attachments to this message are intended for the exclusive use of the
> addressee(s) and may contain proprietary, confidential or privileged
> information. If you are not the intended recipient, you should not
> disseminate, distribute or copy this e-mail. Please notify the sender
> immediately and destroy all copies of this message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient
> should check this email and any attachments for the presence of viruses.
> The company accepts no liability for any damage caused by any virus
> transmitted by this email.
>
> www.wipro.com
>
The information contained in this electronic message and any attachments to
this message are intended for the exclusive use of the addressee(s) and may
contain proprietary, confidential or privileged information. If you are not the
intended recipient, you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately and destroy all copies of this message and
any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient should
check this email and any attachments for the presence of viruses. The company
accepts no liability for any damage caused by any virus transmitted by this
email.
www.wipro.com