forked from Archives/Athou_commafeed
mssql compatibility (fix #396)
This commit is contained in:
@@ -35,7 +35,7 @@ See [here](http://jasonwryan.com/blog/2013/05/25/greader/) for an alternative me
|
||||
Deployment on your own server
|
||||
-----------------------------
|
||||
|
||||
For storage, you can either use an embedded HSQLDB database or an external MySQL or PostgreSQL database.
|
||||
For storage, you can either use an embedded HSQLDB database or an external MySQL, PostgreSQL or SQLServer database.
|
||||
You also need Maven 3.x (and a Java 1.7+ JDK) installed in order to build the application.
|
||||
|
||||
To install maven and openjdk on Ubuntu, issue the following commands
|
||||
@@ -57,7 +57,7 @@ If you don't have git you can download the sources as a zip file from [here](htt
|
||||
|
||||
Now build the application
|
||||
|
||||
Embedded HSQL database
|
||||
Embedded HSQL database:
|
||||
mvn clean package tomee:build -Pprod
|
||||
|
||||
External MySQL database:
|
||||
@@ -66,6 +66,9 @@ Now build the application
|
||||
External PostgreSQL database:
|
||||
mvn clean package tomee:build -Pprod -Ppgsql
|
||||
|
||||
External Microsoft SQL Server database:
|
||||
mvn clean package tomee:build -Pprod -Pmssql
|
||||
|
||||
It will generate a zip file at `target/commafeed.zip` with everything you need to run the application.
|
||||
|
||||
* Create a directory somewhere (e.g. `/opt/commafeed/`) and extract the generated zip inside this directory.
|
||||
|
||||
11
pom.xml
11
pom.xml
@@ -17,7 +17,6 @@
|
||||
<production>false</production>
|
||||
<jpa.show_sql>false</jpa.show_sql>
|
||||
<jpa.datasource.name>java:openejb/Resource/My DataSource</jpa.datasource.name>
|
||||
<jpa.dialect>org.hibernate.dialect.HSQLDialect</jpa.dialect>
|
||||
<jpa.cache>false</jpa.cache>
|
||||
<cache_service.class>com.commafeed.backend.cache.NoopCacheService</cache_service.class>
|
||||
</properties>
|
||||
@@ -120,6 +119,7 @@
|
||||
<lib>org.hsqldb:hsqldb:SNAPSHOT</lib>
|
||||
<lib>mysql:mysql-connector-java:5.1.24</lib>
|
||||
<lib>postgresql:postgresql:9.1-901.jdbc4</lib>
|
||||
<lib>net.sourceforge.jtds:jtds:1.3.0</lib>
|
||||
|
||||
<lib>org.infinispan:infinispan-core:5.1.4.FINAL</lib>
|
||||
<lib>org.hibernate:hibernate-infinispan:4.1.11.Final</lib>
|
||||
@@ -434,7 +434,6 @@
|
||||
<id>openshift</id>
|
||||
<properties>
|
||||
<jpa.datasource.name>java:jboss/datasources/MysqlDS</jpa.datasource.name>
|
||||
<jpa.dialect>com.commafeed.backend.MySQL5Dialect</jpa.dialect>
|
||||
</properties>
|
||||
<build>
|
||||
<finalName>commafeed</finalName>
|
||||
@@ -474,14 +473,18 @@
|
||||
<id>mysql</id>
|
||||
<properties>
|
||||
<jpa.datasource.name>java:openejb/Resource/MySQL</jpa.datasource.name>
|
||||
<jpa.dialect>com.commafeed.backend.MySQL5Dialect</jpa.dialect>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>pgsql</id>
|
||||
<properties>
|
||||
<jpa.datasource.name>java:openejb/Resource/PostgreSQL</jpa.datasource.name>
|
||||
<jpa.dialect>org.hibernate.dialect.PostgreSQLDialect</jpa.dialect>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>mssql</id>
|
||||
<properties>
|
||||
<jpa.datasource.name>java:openejb/Resource/MSSQL</jpa.datasource.name>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.commafeed.backend;
|
||||
|
||||
import org.hibernate.dialect.MySQL5InnoDBDialect;
|
||||
|
||||
public class MySQL5Dialect extends MySQL5InnoDBDialect {
|
||||
|
||||
public String getTableTypeString() {
|
||||
return " ENGINE=InnoDB DEFAULT CHARSET=utf8";
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,6 @@
|
||||
<property name="use_sql_comments" value="true" />
|
||||
<property name="hibernate.show_sql" value="${jpa.show_sql}" />
|
||||
|
||||
<property name="hibernate.dialect" value="${jpa.dialect}" />
|
||||
<property name="hibernate.default_batch_fetch_size" value="100" />
|
||||
|
||||
<property name="hibernate.jdbc.batch_size" value="50" />
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="athou" id="recreate-sequences">
|
||||
<validCheckSum>7:094e881ed7e4fa14fb1f61147ce44acc</validCheckSum>
|
||||
<validCheckSum>7:f4bf2004a72bb41daa128df5771af902</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN" onFailMessage="table already exists">
|
||||
<not>
|
||||
<tableExists tableName="hibernate_sequences" />
|
||||
@@ -41,16 +43,16 @@
|
||||
<column name="sequence_name" type="VARCHAR(255)" />
|
||||
<column name="sequence_next_hi_value" type="INT" />
|
||||
</createTable>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'APPLICATIONSETTINGS', COALESCE(ceil(max(id) / 1000 + 2), 1) from APPLICATIONSETTINGS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDCATEGORIES', COALESCE(ceil(max(id) / 1000 + 2), 1) from FEEDCATEGORIES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDENTRIES', COALESCE(ceil(max(id) / 1000 + 2), 1) from FEEDENTRIES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDENTRYCONTENTS', COALESCE(ceil(max(id) / 1000 + 2), 1) from FEEDENTRYCONTENTS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDENTRYSTATUSES', COALESCE(ceil(max(id) / 1000 + 2), 1) from FEEDENTRYSTATUSES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDS', COALESCE(ceil(max(id) / 1000 + 2), 1) from FEEDS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDSUBSCRIPTIONS', COALESCE(ceil(max(id) / 1000 + 2), 1) from FEEDSUBSCRIPTIONS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'USERROLES', COALESCE(ceil(max(id) / 1000 + 2), 1) from USERROLES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'USERS', COALESCE(ceil(max(id) / 1000 + 2), 1) from USERS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'USERSETTINGS', COALESCE(ceil(max(id) / 1000 + 2), 1) from USERSETTINGS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'APPLICATIONSETTINGS', COALESCE(ceiling(max(id) / 1000 + 2), 1) from APPLICATIONSETTINGS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDCATEGORIES', COALESCE(ceiling(max(id) / 1000 + 2), 1) from FEEDCATEGORIES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDENTRIES', COALESCE(ceiling(max(id) / 1000 + 2), 1) from FEEDENTRIES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDENTRYCONTENTS', COALESCE(ceiling(max(id) / 1000 + 2), 1) from FEEDENTRYCONTENTS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDENTRYSTATUSES', COALESCE(ceiling(max(id) / 1000 + 2), 1) from FEEDENTRYSTATUSES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDS', COALESCE(ceiling(max(id) / 1000 + 2), 1) from FEEDS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'FEEDSUBSCRIPTIONS', COALESCE(ceiling(max(id) / 1000 + 2), 1) from FEEDSUBSCRIPTIONS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'USERROLES', COALESCE(ceiling(max(id) / 1000 + 2), 1) from USERROLES</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'USERS', COALESCE(ceiling(max(id) / 1000 + 2), 1) from USERS</sql>
|
||||
<sql>insert into hibernate_sequences(sequence_name, sequence_next_hi_value) select 'USERSETTINGS', COALESCE(ceiling(max(id) / 1000 + 2), 1) from USERSETTINGS</sql>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="athou" id="add-log-level">
|
||||
|
||||
@@ -29,6 +29,15 @@
|
||||
</Resource>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<Resource id="MSSQL" type="DataSource">
|
||||
JdbcDriver net.sourceforge.jtds.jdbc.Driver
|
||||
JdbcUrl jdbc:jtds:sqlserver://localhost:1433/commafeed;instance=<instanceName, remove if not needed>
|
||||
UserName cf
|
||||
Password cf
|
||||
MaxActive 50
|
||||
</Resource>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user