Install / Migration

Hello,

I want to install a fresh version of Servoy onto a windows 2003 server. I am currently using SQL 2000 as my backend.

I was a bit confused regarding what files I need to transfer from my local machine servoy directory, to the server after I have installed a fresh copy of servoy on the server.

I have set up sql2000, transferred and attached the 2 data files. Which I can access thought enterprize manager

I have not yet installed Servoy on the production server. After I install Servoy, sql drivers, java 1.4 and create a connection to my backend, I was not sure what I need from my exisiting local servoy directory to transfer to my new prOduction server directory.

I am not sure about the servoy log files and property files, I would like to clean up as much as I can, without creating problems.

I also have a clean export of my latest solution. I am trying to understand how versioning works. If I export a solution and import it into my server, how do I rename the new version, so I can rollback to the previous if there are issues.

I have also have a ‘Best Practice’ questions for continious development:

Should I:

  1. develop with servoy and back end on my local machine
  2. update the backend on the production server
  3. export solution from local machine and import into production server

With this process , I would have to be careful that I upate the production backend to reflect development backend changes, prior to new solution version imports on the production server.

With this process, I am assuming that I would need to restart the soluton at some point for servoy to see the backend changes.

On the production server I would need to stop servoy, update back end, import new solution, activate new version, is this the correct order?

There are so many ways to do things I just want to have a controlled production and deveoplment enviroment.

Keep in mind that Servoy is the only application writing data to the backend, my backend is mostly being created through the servoy interface at this point.

I appreciate any help!!

Erich

If you don’t use any ASA databases and your properties file point to the correct database server (all your database connection configuration is stored in the properties file) then all you need to do when moving to a clean server is:

  • check if JDBC drivers are avail
  • copy your properties file
  • open dev and check if db servers are pointing to right server and create repository if necessary (you will be asked for this)

If you develop on a dev box you don’t need to create the columns/tables on your production server, simply import the solution on your server and Servoy will take care of any missing tables and columns. So in your case simply skip step 2. (unless you create db constraints, in that case recreate then directly on the production server)

Excellent, that is very clear

Thanks

Although, I do plan on moving my repository to SQL, I am using ASA for the solution repository(s).

jaleman:
If you develop on a dev box you don’t need to create the columns/tables on your production server, simply import the solution on your server and Servoy will take care of any missing tables and columns.

This is so groovy. (Hey, I’m old.) But one question comes to mind … has anyone tested (or does anyone just know for sure) what the potential effects are of importing a new version on the production server while end-users are using the old version? My concern is whether the back end will be putting a lock on tables (or even on the whole db) while Servoy is sending commands to create new columns and/or tables.

Is this something we needn’t concern ourselves with?

Or is the answer back-end dependant perhaps?

As a universal best practice would it be advisable to boot users out of the solution if the import of a new version will involve modifying the back end?

And if you boot out Servoy solution users, but other users are still accessing the back end via some other app, would it be advisable/necessary under any circumstances to simply take the db offline when running such a back-end-modifying version import?

Tah!

kazar

kazar:
Is this something we needn’t concern ourselves with?

Or is the answer back-end dependant perhaps?

As a universal best practice would it be advisable to boot users out of the solution if the import of a new version will involve modifying the back end?

And if you boot out Servoy solution users, but other users are still accessing the back end via some other app, would it be advisable/necessary under any circumstances to simply take the db offline when running such a back-end-modifying version import?

Tah!

kazar

I do live updates every day on a customer server and never had a single problem.
When you modify the DB structure you don’t need to get a lock on data cause you aren’t touching any data.
Sometimes a user calls me cause he need a mod or he has found a bug, I make the changes on my dev box, export the solution and import in the customer server, when the user is satisfied with the new version I broadcast a message to all other users asking to reopen solution to load the last release.
You only have to pay attention if you add some column and change the logic of the solution to such a degree that older releases are no longer usable; in this case all your users must work ONLY on the latest release.

ngervasi:
I do live updates every day on a customer server and never had a single problem.
When you modify the DB structure you don’t need to get a lock on data cause you aren’t touching any data.

Thanks, Nicola, that is very good information to know. Just to make sure I’m wearing my suspenders as well as my belt: Have you found this to be the case with various back ends (and which ones)?

Thanks!

kazar

kazar:
Thanks, Nicola, that is very good information to know. Just to make sure I’m wearing my suspenders as well as my belt: Have you found this to be the case with various back ends (and which ones)?

Thanks!

kazar

You’re welcome! :D
I’m using MySQL 4.1 and MySQL 5.0 but this is related to the SQL architecture so it doesn’t depend on the backend you use: the ALTER TABLE command doesn’t do any UPDATE/INSERT on any row so no need to get a lock.
Obviously if you modify the structure of the database from outside Servoy you have to restart Servoy server for it to notice the mods.