Upgrading to Version 1.5.3 from 1.0

Hello,

I updated CB manually by expanding the zip-file and copying the needed files. Before somebody asks: The auto updater is not an option. The deployment of web applications and their updates is included
in our central software management system.

I know, that the database needs an update too. I couldn’t find the script which updates the database in the file system.

What do i have to do for the database update?

Thank you-

Martin, why is the auto updater not an option?

Andrew, we have a software managment system, which takes care of all web applications. This saves us money, time and gives us a very stable environment.

I assume if you were to execute the update on dev, and then check in the code to your software system, you wouldn’t be able to automate a deployment to higher environments since the new code would get moved, but the corresponding DB updates would not happen on the higher environments. Is that the issue Martin?

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Our Software Management System is based on a scripting engine. I have full control what will happen. Copying the new files is done perfectly, even older unused files will be removed…

The Updater runs some code to update the database, which is my problem. If i would know, which CFML-code is running during the update, i could pick the SQL-Statements and do the update via command line. I’m a bit confused, why i can not find the matching CFML-file by myself, strange.

We have some plans with ContentBox. Imagine, if we have tons of installations of ContentBox on our servers. How cool is it, to run updates centralized in no time. We do this already on other platform like PHP. This saves enormous time and money.

The updates as you put it are all ORM based so the schema will not be scripted, but any changes to data is scripted in each individual update.

Regards,
Andrew Scott
WebSite: http://www.andyscott.id.au/
Google+: http://plus.google.com/113032480415921517411

Martin,

Inside the CFC updates I will start logging this to help out.

signature0.jpg

Luis F. Majano
CEO
Ortus Solutions, Corp
www.ortussolutions.com

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Social: twitter.com/lmajano facebook.com/lmajano

Yes, and that would be a problem if you are only allowed to run the updater on the dev site. The data changes would never get run on the other servers unless Martin reverse-engineered the updaters and manually ran the SQL changes on his other environments at the same time that he deployed the code.

I don’t know of any good work around for that unless the ContentBox DB kept track of its own versioning and ran any missing scripts on initialization that were present in patches but hadn’t been run on that version of the database.

I’m curious how other frameworks/applications handle this.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Is there perhaps an ability to replicate out the DB changes from dev to production using a tool like Navicat?

http://www.navicat.com/products/navicat-premium

Thanks,

George Murphy

It’s been awhile since I’ve used Navicat, but i think it’s just a SQL client. You would have to extract the SQL that the updater runs and then run it manually in the SQL Client. (Assuming it isn’t using ORM)

A tool such as RedGate SQL compare could help, but you would have to know what data needed to be moved or you might accidentally wipe out production data with your dev data in the wrong tables.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

I’m sure that Luis can provide us the changes and the SQL-statements.

Hello,

Any idea or plans to update CB manually? I’m not in a hurry, but it would be very nice to have a solution sooner or later.

Many thanks.

Update the db you mean?

Yes, that’s the missing part, which avoids a manual or automated update. Many thanks!

I tried to document as much as possible in the patches, have you looked at them?

signature0.jpg

Luis F. Majano
CEO
Ortus Solutions, Corp
www.ortussolutions.com

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Social: twitter.com/lmajano facebook.com/lmajano

I guess so, but i’m not sure if the database update is documented. i will read it again.

Martin which DB are you using?

I’m using MS-SQL 2012 Express.

Next question, I am assuming that your have a deployment system in place. Could you explain this process to me, if the process is something like what I think it is, then I may have a solution.

Andrew, our deployment system does the following via it’s own scripting language for ContentBox:

  • It copies the files from the update out of a zip to the target webspace. I have to take care, that some files will be excluded form the copy process, e.g. the application.cfc which holds data on a per site base.

After the copy process i can add more scripting stuff as needed. e.g. i could run SQL-scripts. If all web spaces are updated, tomcat will be restarted.

This process will be repeated for all ContentBox installations on the server. The Managment server holds a list, containing all web spaces having ContenBox, and of course other web applications we’re using on the servers. E.g. on a php server, WordPress, Contao, Presta Shop are integrated into the deployment server.

The deployment system is originally responsible for the Windows software on servers and/or clients. Meaning, we do not install any software on any device manually, On a web server, we’re deploying “packages” starting from Microsoft patches to tomcat, Railo, PHP, MS-SQL whatever a device is suposed to to.

As i mentioned before, something needs to be done for ContentBox to get the update installed.

I hope this helps, thank you.