diff --git a/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java b/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java index e769d14d409255d34bf2906a8604e3dacb663745..3b02d6db3a5185bf991af745c8a3d4f2eccb2685 100644 --- a/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java +++ b/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java @@ -131,6 +131,7 @@ public class ItemImpl implements Item, Serializable { this.feed = feed; } + @SuppressWarnings("unused") private ItemImpl() { // make Hibernate happy } diff --git a/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml b/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml index 6dc91bcec10bdce6b6e85f1c85dc902e647e264f..4bd885cfc817538292858e2b0bf811ff3514c8be 100644 --- a/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml +++ b/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml @@ -140,6 +140,10 @@ <constructor-arg index="0" value="OLAT_11.5.0" /> <property name="alterDbStatements" value="alter_11_4_x_to_11_5_0.sql" /> </bean> + <bean id="database_upgrade_12_0_0" class="org.olat.upgrade.DatabaseUpgrade"> + <constructor-arg index="0" value="OLAT_12.0.0" /> + <property name="alterDbStatements" value="alter_11_5_x_to_12_0_0.sql" /> + </bean> </list> </property> </bean> diff --git a/src/main/resources/database/mysql/alter_11_5_x_to_12_0_0.sql b/src/main/resources/database/mysql/alter_11_5_x_to_12_0_0.sql new file mode 100644 index 0000000000000000000000000000000000000000..f7c4811912e23b65085331bb2e9afce5656dc196 --- /dev/null +++ b/src/main/resources/database/mysql/alter_11_5_x_to_12_0_0.sql @@ -0,0 +1,52 @@ +-- webfeed +create table o_feed ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + f_resourceable_id bigint, + f_resourceable_type varchar(64), + f_type varchar(20), + f_title varchar(1024), + f_description varchar(1024), + f_author varchar(255), + f_image_name varchar(255), + f_external boolean, + f_external_feed_url varchar(1024), + f_external_image_url varchar(1024), + primary key (id) +); + +create table o_feed_item ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + f_title varchar(1024), + f_description mediumtext, + f_content mediumtext, + f_author varchar(255), + f_guid varchar(255), + f_external_link varchar(1024), + f_draft boolean, + f_publish_date datetime, + f_width bigint, + f_height bigint, + f_filename varchar(1024), + f_type varchar(255), + f_length bigint, + f_external_url varchar(1024), + fk_feed_id bigint not null, + fk_identity_author_id bigint, + fk_identity_modified_id bigint, + primary key (id) +); + +alter table o_feed ENGINE = InnoDB; +alter table o_feed_item ENGINE = InnoDB; + +create index idx_feed_resourceable_idx on o_feed (f_resourceable_id, f_resourceable_type); +alter table o_feed_item add constraint item_to_feed_fk foreign key(fk_feed_id) references o_feed(id); +create index idx_item_feed_idx on o_feed_item(fk_feed_id); +alter table o_feed_item add constraint feed_item_to_ident_author_fk foreign key (fk_identity_author_id) references o_bs_identity (id); +create index idx_item_ident_author_idx on o_feed_item(fk_identity_author_id); +alter table o_feed_item add constraint feed_item_to_ident_modified_fk foreign key (fk_identity_modified_id) references o_bs_identity (id); +create index idx_item_ident_modified_idx on o_feed_item(fk_identity_modified_id); diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 29f91becabe57f19649224d4b35cceb82a04544c..0312702aa9dfe0de75c5bd12064cf8347b18386f 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -2763,7 +2763,6 @@ alter table o_feed_item add constraint feed_item_to_ident_author_fk foreign key create index idx_item_ident_author_idx on o_feed_item(fk_identity_author_id); alter table o_feed_item add constraint feed_item_to_ident_modified_fk foreign key (fk_identity_modified_id) references o_bs_identity (id); create index idx_item_ident_modified_idx on o_feed_item(fk_identity_modified_id); -create index idx_item_guid_idx on o_feed_item (f_guid); -- o_logging_table create index log_target_resid_idx on o_loggingtable(targetresid); diff --git a/src/main/resources/database/oracle/alter_11_5_x_to_12_0_0.sql b/src/main/resources/database/oracle/alter_11_5_x_to_12_0_0.sql new file mode 100644 index 0000000000000000000000000000000000000000..16b66f781afb74af77ae201034db5fdf0b2a4c46 --- /dev/null +++ b/src/main/resources/database/oracle/alter_11_5_x_to_12_0_0.sql @@ -0,0 +1,48 @@ +-- webfeed +create table o_feed ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + f_resourceable_id number(20), + f_resourceable_type varchar(64), + f_title varchar(1024), + f_description varchar(1024), + f_author varchar(255), + f_image_name varchar(255), + f_external number(2) default 0, + f_external_feed_url varchar(1024), + f_external_image_url varchar(1024), + primary key (id) +); + +create table o_feed_item ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + f_title varchar(1024), + f_description clob, + f_content clob, + f_author varchar(255), + f_guid varchar(255), + f_external_link varchar(1024), + f_draft number(2) default 0, + f_publish_date date, + f_width number(20), + f_height number(20), + f_filename varchar(1024), + f_type varchar(255), + f_length number(20), + f_external_url varchar(1024), + fk_feed_id number(20), + fk_identity_author_id number(20), + fk_identity_modified_id number(20), + primary key (id) +); + +create index idx_feed_resourceable_idx on o_feed (f_resourceable_id, f_resourceable_type); +alter table o_feed_item add constraint item_to_feed_fk foreign key(fk_feed_id) references o_feed(id); +create index idx_item_feed_idx on o_feed_item(fk_feed_id); +alter table o_feed_item add constraint feed_item_to_ident_author_fk foreign key (fk_identity_author_id) references o_bs_identity (id); +create index idx_item_ident_author_idx on o_feed_item (fk_identity_author_id); +alter table o_feed_item add constraint feed_item_to_ident_modified_fk foreign key (fk_identity_modified_id) references o_bs_identity (id); +create index idx_item_ident_modified_idx on o_feed_item (fk_identity_modified_id); diff --git a/src/main/resources/database/oracle/setupDatabase.sql b/src/main/resources/database/oracle/setupDatabase.sql index d7d05acaa6cb5f7c137fbfe19c29a1318a09d00a..7a1c814cb4a0d68bdfba42a65d677b7efdb9f5aa 100644 --- a/src/main/resources/database/oracle/setupDatabase.sql +++ b/src/main/resources/database/oracle/setupDatabase.sql @@ -2954,7 +2954,6 @@ alter table o_feed_item add constraint feed_item_to_ident_author_fk foreign key create index idx_item_ident_author_idx on o_feed_item (fk_identity_author_id); alter table o_feed_item add constraint feed_item_to_ident_modified_fk foreign key (fk_identity_modified_id) references o_bs_identity (id); create index idx_item_ident_modified_idx on o_feed_item (fk_identity_modified_id); -create index idx_item_guid_idx on o_feed_item (f_guid); -- o_logging_table create index log_target_resid_idx on o_loggingtable(targetresid); diff --git a/src/main/resources/database/postgresql/alter_11_5_x_to_12_0_0.sql b/src/main/resources/database/postgresql/alter_11_5_x_to_12_0_0.sql new file mode 100644 index 0000000000000000000000000000000000000000..12b1a85e905daa9e1f49fc40e9e1382d75cec8fd --- /dev/null +++ b/src/main/resources/database/postgresql/alter_11_5_x_to_12_0_0.sql @@ -0,0 +1,48 @@ +-- webfeed +create table o_feed ( + id bigserial not null, + creationdate timestamp not null, + lastmodified timestamp not null, + f_resourceable_id bigint, + f_resourceable_type varchar(64), + f_title varchar(1024), + f_description varchar(1024), + f_author varchar(255), + f_image_name varchar(255), + f_external boolean, + f_external_feed_url varchar(1024), + f_external_image_url varchar(1024), + primary key (id) +); + +create table o_feed_item ( + id bigserial not null, + creationdate timestamp not null, + lastmodified timestamp not null, + f_title varchar(1024), + f_description text, + f_content text, + f_author varchar(255), + f_guid varchar(255), + f_external_link varchar(1024), + f_draft boolean, + f_publish_date timestamp, + f_width int8, + f_height int8, + f_filename varchar(1024), + f_type varchar(255), + f_length bigint, + f_external_url varchar(1024), + fk_feed_id bigint, + fk_identity_author_id int8, + fk_identity_modified_id int8, + primary key (id) +); + +create index idx_feed_resourceable_idx on o_feed (f_resourceable_id, f_resourceable_type); +alter table o_feed_item add constraint item_to_feed_fk foreign key(fk_feed_id) references o_feed(id); +create index idx_item_feed_idx on o_feed_item(fk_feed_id); +alter table o_feed_item add constraint feed_item_to_ident_author_fk foreign key (fk_identity_author_id) references o_bs_identity (id); +create index idx_item_ident_author_idx on o_feed_item (fk_identity_author_id); +alter table o_feed_item add constraint feed_item_to_ident_modified_fk foreign key (fk_identity_modified_id) references o_bs_identity (id); +create index idx_item_ident_modified_idx on o_feed_item (fk_identity_modified_id); diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 84a9cb94f38522c60dcd703416c14efec3a88fea..d1d3f9760b12e639cebd1dffd530f84d3d926aea 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -2805,7 +2805,6 @@ alter table o_feed_item add constraint feed_item_to_ident_author_fk foreign key create index idx_item_ident_author_idx on o_feed_item (fk_identity_author_id); alter table o_feed_item add constraint feed_item_to_ident_modified_fk foreign key (fk_identity_modified_id) references o_bs_identity (id); create index idx_item_ident_modified_idx on o_feed_item (fk_identity_modified_id); -create index idx_item_guid_idx on o_feed_item (f_guid); -- o_logging_table create index log_target_resid_idx on o_loggingtable(targetresid);