It actually looks as if OFBiz will always add a
primary key (line 1526 of DatabaseUtil.java) when it
creates the table.  One hack might be to go ahead and
designate a primary key for an empty table (ie no data
imports on this pass), then use the sql to drop the
primary key attribute for that column, remove the
primary key definition (ie make it <prim-key
field=""/>) then restart OFBiz

--- Ruth Hoffman <[EMAIL PROTECTED]> wrote:

> Hi Chris:
> Just tried that and I still get the identical error.
> If it makes any 
> difference, I've tried this with both Derby &
> Postgres - with the same 
> results. I'm wondering if it is possible to do this?
> If not, its ok, I 
> can work around it. But it would be nice to know and
> document if it is a 
> restriction.
> 
> Thanks again for you suggestions.
> Ruth
> 
> Chris Howe wrote:
> 
> >try changing "use-pk-contraint-names" to false in
> your
> >datasource information.
> >
> >ie in 
> ><datasource name="localderbyodbc"
>
>helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
> >schema-name="OFBIZ"
> >field-type-name="derby"
> >check-on-start="true"
> >add-missing-on-start="true"
> >use-pk-constraint-names="false">  <!-- Right here
> -->
> >...
> ></datasource>
> >
> >--- Ruth Hoffman <[EMAIL PROTECTED]> wrote:
> >
> >  
> >
> >>Hi Chis:
> >>I did not try that - due to my ignorance of how to
> >>read an xsd. However, 
> >>I just tried it and I get the following error
> (from
> >>the error log) while 
> >>OFBiz attempts to create the new entity, on
> startup:
> >>
> >>    Getting Table Info From Database
> >>    17327 (main) [      
> DatabaseUtil.java:356:WARN
> >>] Entity [cdrdata]
> >>    has no table in the database
> >>    17377 (main) [      
> >>DatabaseUtil.java:364:ERROR] Could not create
> >>    table [public.CDRDATA]: SQL Exception while
> >>executing the following:
> >>    CREATE TABLE public.CDRDATA (CALL_SN SERIAL,
> >>CORRELATION_ID INT4,
> >>    ....[left some of the field defs out]...
> >>MATCHED_FLAG CHAR(1),
> >>    CONSTRAINT PK_CDRDATA PRIMARY KEY ())
> >>    Error was: java.sql.SQLException: ERROR:
> syntax
> >>error at or near ")"
> >>
> >>This is the same error I was getting when I had no
> >>prim-key element. The 
> >>only thing that makes this go "away" is to set one
> >>of the fields to a 
> >>primary key field. Since I'm trying to mimic a
> real
> >>life database table 
> >>that has no primary key, (mostly for off-line
> >>testing of my 
> >>application), it would be desirable not to have a
> >>primary key field. I'm 
> >>just wondering if I forgot to set something else -
> >>somewhere else?
> >>
> >>Thanks for your suggestion. I learned something
> new
> >>and I think I'll go 
> >>back and try to understand how the xsd can help me
> >>troubleshoot future 
> >>problems.
> >>
> >>Regards,
> >>Ruth
> >>
> >>
> >>Chris Howe wrote:
> >>
> >>    
> >>
> >>>Did you try defining it as an empty prim-key
> group?
> >>>
> >>>ie  <prim-key field=""/>
> >>>
> >>>As far as the entitymodel.xsd, "prim-key" is a
> >>>required element and the attribute "field" is
> >>>      
> >>>
> >>required
> >>    
> >>
> >>>--- Ruth Hoffman <[EMAIL PROTECTED]> wrote:
> >>>
> >>> 
> >>>
> >>>      
> >>>
> >>>>Hello All:
> >>>>Is this possible: can I create an entity without
> a
> >>>>primary key?
> >>>>
> >>>>TIA
> >>>>Ruth
> >>>>
> >>>>   
> >>>>
> >>>>        
> >>>>
> >>> 
> >>>
> >>>      
> >>>
> >
> >
> >  
> >
> 

Reply via email to