Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Codecrew
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
30
Merge Requests
2
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 02b7fa30
authored
Aug 02, 2018
by
Tuukka Kivilahti
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dbchanges' into 'master'
DB changes. See merge request
!406
2 parents
ce205efe
2894fcba
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
142 additions
and
93 deletions
code/moya-beans/ejbModule/fi/codecrew/moya/beans/BootstrapBean.java
code/moya-database/pom.xml
code/moya-database/src/main/java/fi/codecrew/moya/database/eclipselink/MoyaPostgreSQLPlatform.java
code/moya-database/src/main/java/fi/codecrew/moya/model/GenericEntity.java
code/moya-database/src/main/resources/META-INF/persistence.xml
code/moya-beans/ejbModule/fi/codecrew/moya/beans/BootstrapBean.java
View file @
02b7fa3
...
@@ -449,6 +449,143 @@ public class BootstrapBean implements BootstrapBeanLocal {
...
@@ -449,6 +449,143 @@ public class BootstrapBean implements BootstrapBeanLocal {
"ALTER TABLE user_allergies ADD CONSTRAINT FK_user_allergies_allergy_id FOREIGN KEY (allergy_id) REFERENCES allergies (id)"
"ALTER TABLE user_allergies ADD CONSTRAINT FK_user_allergies_allergy_id FOREIGN KEY (allergy_id) REFERENCES allergies (id)"
});
});
dbUpdates
.
add
(
new
String
[]{
"ALTER TABLE account_events ALTER meta TYPE jsonb"
,
"ALTER TABLE actionlog_message_responses ALTER meta TYPE jsonb"
,
"ALTER TABLE actionlog_message_tags ALTER meta TYPE jsonb"
,
"ALTER TABLE actionlog_messages ALTER meta TYPE jsonb"
,
"ALTER TABLE api_application_instances ALTER meta TYPE jsonb"
,
"ALTER TABLE api_applications ALTER meta TYPE jsonb"
,
"ALTER TABLE application_permissions ALTER meta TYPE jsonb"
,
"ALTER TABLE approvals ALTER meta TYPE jsonb"
,
"ALTER TABLE bill_lines ALTER meta TYPE jsonb"
,
"ALTER TABLE bills ALTER meta TYPE jsonb"
,
"ALTER TABLE card_code ALTER meta TYPE jsonb"
,
"ALTER TABLE card_object_data ALTER meta TYPE jsonb"
,
"ALTER TABLE card_templates ALTER meta TYPE jsonb"
,
"ALTER TABLE card_text_data ALTER meta TYPE jsonb"
,
"ALTER TABLE compo_entries ALTER meta TYPE jsonb"
,
"ALTER TABLE compo_entry_files ALTER meta TYPE jsonb"
,
"ALTER TABLE compo_entry_participations ALTER meta TYPE jsonb"
,
"ALTER TABLE compo_votes ALTER meta TYPE jsonb"
,
"ALTER TABLE compos ALTER meta TYPE jsonb"
,
"ALTER TABLE discount_instances ALTER meta TYPE jsonb"
,
"ALTER TABLE discounts ALTER meta TYPE jsonb"
,
"ALTER TABLE event_domains ALTER meta TYPE jsonb"
,
"ALTER TABLE event_log ALTER meta TYPE jsonb"
,
"ALTER TABLE event_log_types ALTER meta TYPE jsonb"
,
"ALTER TABLE event_organiser ALTER meta TYPE jsonb"
,
"ALTER TABLE event_private_properties ALTER meta TYPE jsonb"
,
"ALTER TABLE event_properties ALTER meta TYPE jsonb"
,
"ALTER TABLE event_users ALTER meta TYPE jsonb"
,
"ALTER TABLE events ALTER meta TYPE jsonb"
,
"ALTER TABLE feedback ALTER meta TYPE jsonb"
,
"ALTER TABLE food_wave_templates ALTER meta TYPE jsonb"
,
"ALTER TABLE food_waves ALTER meta TYPE jsonb"
,
"ALTER TABLE game_ids ALTER meta TYPE jsonb"
,
"ALTER TABLE group_memberships ALTER meta TYPE jsonb"
,
"ALTER TABLE groups ALTER meta TYPE jsonb"
,
"ALTER TABLE help_text_histories ALTER meta TYPE jsonb"
,
"ALTER TABLE help_texts ALTER meta TYPE jsonb"
,
"ALTER TABLE helps ALTER meta TYPE jsonb"
,
"ALTER TABLE inventory_events ALTER meta TYPE jsonb"
,
"ALTER TABLE lecture_groups ALTER meta TYPE jsonb"
,
"ALTER TABLE lectures ALTER meta TYPE jsonb"
,
"ALTER TABLE licensecodes ALTER meta TYPE jsonb"
,
"ALTER TABLE licensetargets ALTER meta TYPE jsonb"
,
"ALTER TABLE locations ALTER meta TYPE jsonb"
,
"ALTER TABLE map_queue_rules ALTER meta TYPE jsonb"
,
"ALTER TABLE maps ALTER meta TYPE jsonb"
,
"ALTER TABLE match_results ALTER meta TYPE jsonb"
,
"ALTER TABLE matches ALTER meta TYPE jsonb"
,
"ALTER TABLE menu_navigation ALTER meta TYPE jsonb"
,
"ALTER TABLE menuitem ALTER meta TYPE jsonb"
,
"ALTER TABLE network_associations ALTER meta TYPE jsonb"
,
"ALTER TABLE news ALTER meta TYPE jsonb"
,
"ALTER TABLE news_groups ALTER meta TYPE jsonb"
,
"ALTER TABLE org_role_requests ALTER meta TYPE jsonb"
,
"ALTER TABLE org_roles ALTER meta TYPE jsonb"
,
"ALTER TABLE place_slots ALTER meta TYPE jsonb"
,
"ALTER TABLE places ALTER meta TYPE jsonb"
,
"ALTER TABLE poll ALTER meta TYPE jsonb"
,
"ALTER TABLE poll_answer ALTER meta TYPE jsonb"
,
"ALTER TABLE poll_question ALTER meta TYPE jsonb"
,
"ALTER TABLE possible_answer ALTER meta TYPE jsonb"
,
"ALTER TABLE printed_cards ALTER meta TYPE jsonb"
,
"ALTER TABLE product_dependencies ALTER meta TYPE jsonb"
,
"ALTER TABLE product_limitations ALTER meta TYPE jsonb"
,
"ALTER TABLE product_option_groups ALTER meta TYPE jsonb"
,
"ALTER TABLE product_options ALTER meta TYPE jsonb"
,
"ALTER TABLE products ALTER meta TYPE jsonb"
,
"ALTER TABLE reader_events ALTER meta TYPE jsonb"
,
"ALTER TABLE readers ALTER meta TYPE jsonb"
,
"ALTER TABLE roles ALTER meta TYPE jsonb"
,
"ALTER TABLE sales_entity ALTER meta TYPE jsonb"
,
"ALTER TABLE salespoint ALTER meta TYPE jsonb"
,
"ALTER TABLE site_page_content ALTER meta TYPE jsonb"
,
"ALTER TABLE site_pages ALTER meta TYPE jsonb"
,
"ALTER TABLE tournament_games ALTER meta TYPE jsonb"
,
"ALTER TABLE tournament_participants ALTER meta TYPE jsonb"
,
"ALTER TABLE tournament_rules ALTER meta TYPE jsonb"
,
"ALTER TABLE tournament_team_members ALTER meta TYPE jsonb"
,
"ALTER TABLE tournaments ALTER meta TYPE jsonb"
,
"ALTER TABLE user_approvals ALTER meta TYPE jsonb"
,
"ALTER TABLE user_images ALTER meta TYPE jsonb"
,
"ALTER TABLE user_notes ALTER meta TYPE jsonb"
,
"ALTER TABLE users ALTER meta TYPE jsonb"
,
"ALTER TABLE vip_product_deliveries ALTER meta TYPE jsonb"
,
"ALTER TABLE vip_products ALTER meta TYPE jsonb"
,
"ALTER TABLE vips ALTER meta TYPE jsonb"
,
"ALTER TABLE user_allergies ALTER meta TYPE jsonb"
});
dbUpdates
.
add
(
new
String
[]{
"ALTER TABLE account_events ALTER delivered TYPE TIMESTAMPTZ"
,
"ALTER TABLE account_events ALTER event_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE bills ALTER sent_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE bills ALTER paid_date TYPE TIMESTAMPTZ"
,
"ALTER TABLE compo_entries ALTER entry_created TYPE TIMESTAMPTZ"
,
"ALTER TABLE compo_entry_files ALTER uploaded TYPE TIMESTAMPTZ"
,
"ALTER TABLE compo_entry_participations ALTER confirmed TYPE TIMESTAMPTZ"
,
"ALTER TABLE compo_votes ALTER vote_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE compos ALTER compo_start TYPE TIMESTAMPTZ"
,
"ALTER TABLE compos ALTER submit_end TYPE TIMESTAMPTZ"
,
"ALTER TABLE compos ALTER submit_start TYPE TIMESTAMPTZ"
,
"ALTER TABLE compos ALTER vote_end TYPE TIMESTAMPTZ"
,
"ALTER TABLE compos ALTER vote_start TYPE TIMESTAMPTZ"
,
"ALTER TABLE compos ALTER compo_end TYPE TIMESTAMPTZ"
,
"ALTER TABLE discounts ALTER valid_from TYPE TIMESTAMPTZ"
,
"ALTER TABLE discounts ALTER valid_to TYPE TIMESTAMPTZ"
,
"ALTER TABLE event_log ALTER event_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE event_private_properties ALTER date_value TYPE TIMESTAMPTZ"
,
"ALTER TABLE event_properties ALTER date_value TYPE TIMESTAMPTZ"
,
"ALTER TABLE event_users ALTER createtime TYPE TIMESTAMPTZ"
,
"ALTER TABLE events ALTER end_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE events ALTER start_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE events ALTER ticket_sales_begin TYPE TIMESTAMPTZ"
,
"ALTER TABLE feedback ALTER timestamp TYPE TIMESTAMPTZ"
,
"ALTER TABLE food_waves ALTER wave_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE group_memberships ALTER invite_accepted TYPE TIMESTAMPTZ"
,
"ALTER TABLE group_memberships ALTER entered_event TYPE TIMESTAMPTZ"
,
"ALTER TABLE groups ALTER group_edited TYPE TIMESTAMPTZ"
,
"ALTER TABLE groups ALTER group_created TYPE TIMESTAMPTZ"
,
"ALTER TABLE news ALTER expire TYPE TIMESTAMPTZ"
,
"ALTER TABLE news ALTER publish TYPE TIMESTAMPTZ"
,
"ALTER TABLE old_actionlog_message_responses ALTER time TYPE TIMESTAMPTZ"
,
"ALTER TABLE old_actionlog_messages ALTER time TYPE TIMESTAMPTZ"
,
"ALTER TABLE places ALTER reserve_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE poll ALTER closing_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE poll ALTER opening_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE printed_cards ALTER print_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE reader_events ALTER event_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE reader_events ALTER event_updated TYPE TIMESTAMPTZ"
,
"ALTER TABLE site_page_content ALTER expire TYPE TIMESTAMPTZ"
,
"ALTER TABLE site_page_content ALTER publish TYPE TIMESTAMPTZ"
,
"ALTER TABLE user_images ALTER uploaded TYPE TIMESTAMPTZ"
,
"ALTER TABLE users ALTER birthday TYPE TIMESTAMPTZ"
,
"ALTER TABLE users ALTER confirm_time TYPE TIMESTAMPTZ"
,
"ALTER TABLE users ALTER created TYPE TIMESTAMPTZ"
});
}
}
public
BootstrapBean
()
{
public
BootstrapBean
()
{
...
...
code/moya-database/pom.xml
View file @
02b7fa3
...
@@ -58,51 +58,12 @@
...
@@ -58,51 +58,12 @@
<version>
1.2-SNAPSHOT
</version>
<version>
1.2-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.ancoron.postgresql
</groupId>
<artifactId>
org.ancoron.postgresql.jpa
</artifactId>
<version>
9.1.901.jdbc4.1-rc9
</version>
<exclusions>
<exclusion>
<artifactId>
javax.persistence
</artifactId>
<groupId>
org.eclipse.persistence
</groupId>
</exclusion>
<exclusion>
<artifactId>
org.eclipse.persistence.osgi
</artifactId>
<groupId>
org.eclipse.persistence
</groupId>
</exclusion>
<exclusion>
<artifactId>
org.eclipse.persistence.core
</artifactId>
<groupId>
org.eclipse.persistence
</groupId>
</exclusion>
<exclusion>
<artifactId>
org.postgresql
</artifactId>
<groupId>
org.ancoron.postgresql
</groupId>
</exclusion>
<exclusion>
<artifactId>
org.postgresql.net
</artifactId>
<groupId>
org.ancoron.postgresql
</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.postgresql
</groupId>
<groupId>
org.postgresql
</groupId>
<artifactId>
postgresql
</artifactId>
<artifactId>
postgresql
</artifactId>
<version>
9.3-1102-jdbc41
</version>
<version>
42.2.2.jre7
</version>
<scope>
provided
</scope>
<scope>
provided
</scope>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.ancoron.postgresql
</groupId>
<artifactId>
org.postgresql.net
</artifactId>
<version>
9.1.901.jdbc4.1-rc9
</version>
<exclusions>
<exclusion>
<artifactId>
org.postgresql
</artifactId>
<groupId>
org.ancoron.postgresql
</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.eclipse.persistence
</groupId>
<groupId>
org.eclipse.persistence
</groupId>
<artifactId>
org.eclipse.persistence.core
</artifactId>
<artifactId>
org.eclipse.persistence.core
</artifactId>
<version>
2.5.2-RC1
</version>
<version>
2.5.2-RC1
</version>
...
...
code/moya-database/src/main/java/fi/codecrew/moya/database/eclipselink/MoyaPostgreSQLPlatform.java
deleted
100644 → 0
View file @
ce205ef
/*
* Copyright Codecrew Ry
*
* All rights reserved.
*
* This license applies to any software containing a notice placed by the
* copyright holder. Such software is herein referred to as the Software.
* This license covers modification, distribution and use of the Software.
*
* Any distribution and use in source and binary forms, with or without
* modification is not permitted without explicit written permission from the
* copyright owner.
*
* A non-exclusive royalty-free right is granted to the copyright owner of the
* Software to use, modify and distribute all modifications to the Software in
* future versions of the Software.
*
*/
package
fi
.
codecrew
.
moya
.
database
.
eclipselink
;
import
java.util.Hashtable
;
import
org.ancoron.postgresql.jpa.eclipselink.ExtendedPostgreSQLPlatform
;
import
org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* Smarter defaults. Use TEXT for string columns and understand JSON fields.
* Also inherit ExtendedPostgreSQLPlatform which understand the Inet types.
*
* @author jkj
*
*/
public
class
MoyaPostgreSQLPlatform
extends
ExtendedPostgreSQLPlatform
{
private
static
final
long
serialVersionUID
=
6351395815598077327L
;
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
MoyaPostgreSQLPlatform
.
class
);
@SuppressWarnings
({
"rawtypes"
,
"unchecked"
})
@Override
protected
Hashtable
buildFieldTypes
()
{
log
.
info
(
"Customizing SQL Platform field types for Moya"
);
Hashtable
map
=
super
.
buildFieldTypes
();
map
.
put
(
String
.
class
,
new
FieldTypeDefinition
(
"TEXT"
,
false
));
map
.
put
(
java
.
sql
.
Timestamp
.
class
,
new
FieldTypeDefinition
(
"TIMESTAMPTZ"
,
false
));
map
.
put
(
javax
.
json
.
JsonObject
.
class
,
new
FieldTypeDefinition
(
"JSON"
,
false
));
return
map
;
}
}
code/moya-database/src/main/java/fi/codecrew/moya/model/GenericEntity.java
View file @
02b7fa3
...
@@ -29,8 +29,11 @@ import javax.persistence.Transient;
...
@@ -29,8 +29,11 @@ import javax.persistence.Transient;
import
fi.codecrew.moya.utilities.jpa.EntityEquals
;
import
fi.codecrew.moya.utilities.jpa.EntityEquals
;
import
fi.codecrew.moya.utilities.jpa.ModelInterface
;
import
fi.codecrew.moya.utilities.jpa.ModelInterface
;
import
org.eclipse.persistence.annotations.OptimisticLocking
;
import
org.eclipse.persistence.annotations.OptimisticLockingType
;
@MappedSuperclass
@MappedSuperclass
@OptimisticLocking
(
type
=
OptimisticLockingType
.
ALL_COLUMNS
)
public
class
GenericEntity
extends
EntityEquals
implements
ModelInterface
,
EntityMeta
{
public
class
GenericEntity
extends
EntityEquals
implements
ModelInterface
,
EntityMeta
{
private
static
final
long
serialVersionUID
=
-
9041737052951021560L
;
private
static
final
long
serialVersionUID
=
-
9041737052951021560L
;
...
...
code/moya-database/src/main/resources/META-INF/persistence.xml
View file @
02b7fa3
...
@@ -8,8 +8,7 @@
...
@@ -8,8 +8,7 @@
<property
name=
"eclipselink.cache.size.default"
value=
"16384"
/>
<property
name=
"eclipselink.cache.size.default"
value=
"16384"
/>
<property
name=
"eclipselink.logging.logger"
value=
"ServerLogger"
/>
<property
name=
"eclipselink.logging.logger"
value=
"ServerLogger"
/>
<property
name=
"eclipselink.jdbc.uppercase-columns"
value=
"false"
/>
<property
name=
"eclipselink.jdbc.uppercase-columns"
value=
"false"
/>
<property
name=
"eclipselink.target-database"
<property
name=
"eclipselink.target-database"
value=
"PostgreSQL"
/>
value=
"fi.codecrew.moya.database.eclipselink.MoyaPostgreSQLPlatform"
/>
<property
name=
"eclipselink.create-ddl-jdbc-file-name"
value=
"moyaCreateDDL.sql"
/>
<property
name=
"eclipselink.create-ddl-jdbc-file-name"
value=
"moyaCreateDDL.sql"
/>
<property
name=
"eclipselink.drop-ddl-jdbc-file-name"
value=
"moyaDropDDL.sql"
/>
<property
name=
"eclipselink.drop-ddl-jdbc-file-name"
value=
"moyaDropDDL.sql"
/>
<property
name=
"eclipselink.target-server"
value=
"Glassfish"
/>
<property
name=
"eclipselink.target-server"
value=
"Glassfish"
/>
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment