2013-12-11 2 views
0

openbravo ERP 애플리케이션에서 테이블은 SAX 파서를 통해 구문 분석되고 Java 클래스 GenerateEntityTask를 사용하여 작성되는 XML 파일을 통해 작성됩니다. 다음과 같이XML을 통해 DB 열에 시퀀스 지정

샘플 XML 파일입니다 -

<?xml version="1.0"?> 
    <database name="TABLE RESPOS_KOT"> 
    <table name="RESPOS_KOT" primaryKey="RESPOS_KOT_KEY"> 
     <column name="RESPOS_KOT_ID" primaryKey="true" required="true" type="INTEGER" size="32" autoIncrement="false"> 
      <default/> 
      <onCreateDefault/> 
     </column> 
     <column name="NAME" primaryKey="false" required="true" type="NVARCHAR" size="60" autoIncrement="false"> 
      <default/> 
     <onCreateDefault/> 
     </column> 
    </table> 
    </database> 

내가 모든 삽입 1 일까지 포스트 그레스 데이터베이스 & 증가에 RESPOS_KOT_ID 열을 시퀀스를 추가 할. 나는 SQL 셸에서 그랬다. -

create sequence kot_sequence increment by 1 start 1; 

CREATE TABLE RESPOS_KOT (
    id  INT4 DEFAULT nextval('kot_sequence') NOT NULL, 
    name VARCHAR(60) 
); 
INSERT INTO RESPOS_KOT (name) VALUES ('Testing respos KOT'); 

xml 형식으로 어떻게 만들 수 있습니까? 어떤 제안이라도 도움이 될 것입니다. 감사합니다 !!!

+0

나는 OpenBravo를 한번도 사용하지 않았지만 예제를 보면'autoIncrement = "true"'아마도 'serial' 열로 변환되어 사용하려고 시도 할 것입니다. –

+0

답장을 보내 주셔서 감사합니다. 나는 이것을 시도했지만이 메시지를받는 중입니다. - 'ERROR : 열의 null 값'respos_kot_id는 레코드를 삽입하는 동안 'null이 아닌 제약 조건을 위반합니다.' –

답변

1

테이블은 앞에서 언급 한 것처럼 XML을 통해서만 생성되지만, xml은 openbravo ant task-ant export.database으로 생성 될 수도 있습니다. 위의 표는 당신이 XML을 생성하는 데 도움이 될 수 있습니다

단계, openbravo에서

  1. create a new module = indevelopment 사실. 또는 기존 모듈을 선택하고 indevelopment = true로 설정하고 모듈과 관련된 dbprefix를 기록해 둡니다.
  2. pgadmin query promt에서 쿼리를 실행하십시오. 시퀀스뿐만 아니라 테이블을 생성하는 동안 DBPrefix을 사용하십시오.
  3. do export.database
  4. 테이블에 해당하는 xml 파일은 modules/your_module 폴더 아래에 만들어집니다.