I once had an older version of XWiki running with embedded Derby under
Tomcat 5 on Windows XP. I blew that away to start fresh with XWiki 1.0
beta 4 (still with embedded Derby under Tomcat 5 on Windows XP);
however, I've run into a variety of difficulties.
In my last run with XWiki, someone had converted the script to create
the DB into a Derby-compatible syntax which I ran through SQuirreL SQL
Client to prime the DB. With the latest version of XWiki, though, it
seems there is no need to explicitly create the schema ahead of time.
My understanding is that Hibernate will do this automatically when
directed to do so through the XWiki configuration:
xwiki.store.hibernate.updateschema=1
Thus, I have Tomcat 5 set up with a datasource for the XWiki context:
<Context docBase="C:/Program Files/XWiki/xwiki-1.0"
useNaming="true"
swallowOutput="true"
privileged="true"
antiResourceLocking="false"
antiJARLocking="false"
reloadable="true" >
<Resource
name="jdbc/xwiki"
description="XWiki DataSource"
auth="Container"
username="xwiki"
password="xwiki"
type="javax.sql.DataSource"
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
url="jdbc:derby:C:/Documents and Settings/Administrator/My
Documents/Xwiki;create=true"
maxActive="8"
maxIdle="4" />
<!-- Link to the user database we will get roles from -->
<ResourceLink name="users" global="UserDatabase"
type="org.apache.catalina.UserDatabase"/>
</Context>
In the hibernate.cfg.xml file, I've commented out the direct
connections in favor of using a datasource:
<!-- DataSource Connection -->
<property
name="connection.datasource">java:/comp/env/jdbc/xwiki</property>
<property
name="dialect">org.hibernate.dialect.DerbyDialect</property>
Trying this, though, I get problems when I hit my XWiki saying the
schema XWIKI is not found. I connected again using SQuirreL SQL Client
and indeed, there was no XWIKI schema (but the default, APP, was
there). So I created one using SQL:
CREATE SCHEMA XWIKI
Now the schema exists, so I start Tomcat with XWiki and try to access
it. Now it doesn't complain about the schema not existing. Instead it
says it can't find the tables it wants:
ERROR 42X05: Table 'XWIKI.XWIKIDOC' does not exist.
I cannot understand what it takes to have the schema created. Any
ideas?