blob: 2a5797c0474326aba188c8c4d2b0c892f8f520df [file] [log] [blame]
#**
500-to-510-migration.vm: Velocity template that generates vendor-specific database scripts
DON'T RUN THIS, IT'S NOT A DATABASE CREATION SCRIPT!!!
**#
-- roller_permission constant updated to be more clear
update roller_properties set name = 'user.account.email.activation' where name = 'user.account.activation.enabled';
-- website table was renamed to weblog and several unused columns dropped
#renameTable('website' 'weblog')
#dropColumn('weblog' 'emailfromaddress')
#dropColumn('weblog' 'pagemodels')
#dropColumn('weblog' 'defaultcatid')
#dropColumn('weblog' 'ignorewords')
#dropColumn('weblog' 'defaultpageid')
#dropColumn('weblog' 'weblogdayid')
-- two weblog columns renamed
#addColumnNotNull('weblog' 'visible' $db.BOOLEAN_SQL_TYPE $db.BOOLEAN_TRUE)
#addColumnNull('weblog' 'tagline' "varchar(255)")
update weblog set visible = isenabled;
update weblog set tagline = description;
#dropColumn('weblog' 'isenabled')
#dropColumn('weblog' 'description')
-- different value for our Xinha editor
update weblog set editorpage = 'editor-xinha.jsp' where editorpage = 'editor-rte.jsp';
-- some tables renamed
#renameTable('folder' 'bookmark_folder')
#renameTable('rolleruser' 'roller_user')
#renameTable('webpage' 'weblog_custom_template')
-- openID value moved from deprecated roller_userattribute table to new roller_user.openid_url column
#addColumnNull('roller_user' 'openid_url' "varchar(255)")
update roller_user ru
set openid_url = (select attrvalue from roller_userattribute rua where attrname = 'openid.url' and ru.username = rua.username)
where username in (select username from roller_userattribute rua where attrname = 'openid.url');
-- roller_userattribute table no longer referenced by Roller application, can be
-- manually dropped if your project is not using it for anything else
create table custom_template_rendition (
id varchar(48) not null primary key,
templateid varchar(48) not null,
template $db.TEXT_SQL_TYPE not null,
templatelang varchar(48),
#columnNotNullWithDefault('type' 'varchar(16)' 'STANDARD')
);
-- following may not run on MySQL, recommended to try manually
-- alter table custom_template_rendition add constraint ctr_templateid_fk
-- foreign key ( templateid ) references weblog_custom_template( id ) $db.ADDL_FK_PARAMS ;
-- capitalizing column constants as these are now stored as enums in Java.
update weblog_custom_template set templatelang = upper(templatelang);
update weblog_custom_template wct set action = upper(action);
-- The main stylesheet for a theme has a new action, STYLESHEET.
update weblog_custom_template wct set action='STYLESHEET' where link is not null and link = (select customstylesheet from weblog w where w.id = wct.websiteid);
-- With above statement, weblog.customstylesheet no longer needed.
#dropColumn('weblog' 'customstylesheet')
-- template renditions now stored in custom_template_rendition table; 5.0.x has only standard (non-mobile) type
-- important: Don't run below statement if upgrading from a 5.1 snapshot to 5.1 release version as
-- custom_template_rendition already has your custom templates, it would end up overwriting with default ones
insert into custom_template_rendition(id, templateid, template, templatelang, type)
select id, id, template, templatelang, 'STANDARD' from weblog_custom_template;
-- With above statement, below columns no longer needed
#dropColumn('weblog_custom_template' 'template')
#dropColumn('weblog_custom_template' 'templatelang')
#dropColumn('weblog_custom_template' 'decorator')
-- HTML header search description now available for each blog entry
#addColumnNull("weblogentry" "search_description" "varchar(255)")
-- Removal of subcategories means no more path and parentid columns
delete from weblogcategory where name = 'root' and parentid is null;
#dropColumn("weblogcategory" 'parentid')
#dropColumn("weblogcategory" 'path')
-- Allow users to order their weblog categories (zero-based)
#addColumnNotNull("weblogcategory" "position" "integer" "0")
-- Removal of custom ping targets
delete from pingtarget where websiteid is not null;
#dropForeignKey("pingtarget" "pt_websiteid_fk")
#dropColumn("pingtarget" "websiteid")
-- If you run this script manually (i.e. you are doing installation.type=manual)
-- them you may need to comment out this next statement, this index does not
-- exist in all Roller systems:
#dropIndex("bookmark_folder" "folder_namefolderid_uq")
-- Removal of bookmark subfolders and renaming of former root folder to 'default'
-- If a bookmark folder with name 'default' already exists, rename it by adding its id to it.
update bookmark_folder set name = #concat("name" "id") where name = 'default';
update bookmark_folder set name = 'default' where name = 'root' and parentid is null;
#dropColumn("bookmark_folder" 'parentid')
#dropColumn("bookmark_folder" 'path')
#dropColumn("bookmark_folder" "description")
#dropColumn("bookmark" "weight")
-- Removal of media file subfolders and renaming of former root folder to 'default'
-- If a folder with name 'default' already exists, rename it by adding its id to it.
update roller_mediafiledir set name = #concat("name" "id") where name = 'default';
update roller_mediafiledir set name = 'default' where name = 'root' and parentid is null;
#dropColumn("roller_mediafiledir" "path")
#dropForeignKey("roller_mediafiledir" "mf_parentid_fk")
#dropColumn("roller_mediafiledir" "parentid")
-- Adding blog-specific web analytics (e.g. Google Analytics) tracking code
#addColumnNull("weblog" "analyticscode" $db.TEXT_SQL_TYPE)
-- Referer table no longer populated, retaining for older Roller instances in case
-- legacy data is desired to keep; but removing its FK relationships to other tables
#dropForeignKey("referer" "ref_entryid_fk")
#dropForeignKey("referer" "ref_websiteid_fk")