Difference between revisions of "Using OpenKM with other databases"

From OpenKM Documentation
Jump to: navigation, search
Line 8: Line 8:
 
</source>
 
</source>
  
Once the tables are created, change the '''hibernate.hbm2ddl''' property from ''create'' to ''none''.
+
Once the tables are created, change the '''hibernate.hbm2ddl''' property from ''create'' to ''none''. If you want to see the table creation script, create, compile and run this piece of code:
 +
 
 +
<source lang="java">
 +
import java.io.File;
 +
 
 +
import org.hibernate.cfg.Configuration;
 +
import org.hibernate.tool.hbm2ddl.SchemaExport;
 +
 
 +
public class Test {
 +
  public static void main(String[] args) throws Exception {
 +
    Configuration cfg = new Configuration();
 +
    cfg.configure(new File("/path/to/hibernate.cfg.xml"));
 +
    SchemaExport se = new SchemaExport(cfg);
 +
    se.setOutputFile("/path/to/schema.sql");
 +
    se.setFormat(true);
 +
    se.create(false, false);
 +
  }
 +
}
 +
</source>
  
 
{{Warning|This configuration property should be set before the database creation. Once the database has been initialized don't modify it because can damage your installation. If your OpenKM installation has been already configured with another database (default one is an embedded one called HSQL) you can't switch to another database simply changing this property.}}
 
{{Warning|This configuration property should be set before the database creation. Once the database has been initialized don't modify it because can damage your installation. If your OpenKM installation has been already configured with another database (default one is an embedded one called HSQL) you can't switch to another database simply changing this property.}}
Line 16: Line 34:
 
* [[MySQL]] [[File:Padlock.gif]]
 
* [[MySQL]] [[File:Padlock.gif]]
 
* [[PostgreSQL]] [[File:Padlock.gif]]
 
* [[PostgreSQL]] [[File:Padlock.gif]]
 +
* [[MS SQLServer]] [[File:Padlock.gif]]
 +
* [[Oracle]] [[File:Padlock.gif]]
  
 
[[Category: Installation Guide]]
 
[[Category: Installation Guide]]

Revision as of 14:41, 4 November 2010

By default, OpenKM uses an embedded database called HSQLDB. This database is integrated into JBoss and offers a good performance and low hardware requirements. But sometimes it not enough for some users and need OpenKM to be deployed within their IT structure, which is based on any other database vendor.

Startign with OpenKM 5, you can create the databases automatically configuring the hibernate.dialect and hibernate.hbm2ddl properties in OpenKM.cfg.

hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.hbm2ddl=create

Once the tables are created, change the hibernate.hbm2ddl property from create to none. If you want to see the table creation script, create, compile and run this piece of code:

import java.io.File;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class Test {
  public static void main(String[] args) throws Exception {
    Configuration cfg = new Configuration();
    cfg.configure(new File("/path/to/hibernate.cfg.xml"));
    SchemaExport se = new SchemaExport(cfg);
    se.setOutputFile("/path/to/schema.sql");
    se.setFormat(true);
    se.create(false, false);		
  }
}

Nota advertencia.png This configuration property should be set before the database creation. Once the database has been initialized don't modify it because can damage your installation. If your OpenKM installation has been already configured with another database (default one is an embedded one called HSQL) you can't switch to another database simply changing this property.

Here we will discuss the changes needed to run OpenKM with these databases: