renaming fields/settings from within Servoy

I still bump in to the case that I must change fieldnames, sizes of text-fields etc..
This is because I am translating my solution from Dutch to English, but also when I need to establish a connection to another (other vendor) database, for example.

Now I have to do this manually in Sybase Central. That is doable, but I have to do this by all of my cumstomers too!
I have searched for some kind or macro-recorder, that captured the changes in Sybase Central, and than run that macro on the customer-machine, but so far, nog luck!

I am also thinking of using a stored procedure, but than again, I can’t make a stored-procedure form within Servoy, I can only call them.
So I have to use external tools for that too.

Is it possible to make some feature that tracks the changes of fields and columns in developer and that this is brought into an export of an solution?

Would be really helpfull.

HJK,

Dunno about your requested features, but I might have something else you can use to solve your problem.

Making changes to the setup of tables through Sybase Central is done by firing Alter SQL statements at the DB (Sybase just takes care of the SQL for you).

You can also write the SQL statement to alter your DB by yourself. This statement you only have to write once and then you can run it on every DB, to make the changes for you.

I do not know the syntax, but it should be possible to write many SQL statements (one for each change) into one file/Stored Procedure and have them launched sequentially.

If you want, you can put this SQL into a Stored Procedure and call this Stored Procedure from Servoy. I do not know if/how you get Servoy to see all the changes.

Hope this helps.

Paul

You probably know already about the Sybase Central tools for ‘unloading’ and loading back up a database and I imagine they are not really what you are after. However just to mention with that tool you can unload a databases structure, data or both. Combining those outputs can work quite well in certain situations but it really sounds more like you are looking to make fairly minor modifications to your back end tables and just want your customers to ‘automatically’ be able to do the same.

For that there is something else I stumbled upon by accident in Sybase Central that might be of help. When you connect to your database and click on a table in the left hand pane of Sybase Central all the columns show up in the right hand pane. If you then click on individual columns, all of them (select all) or discontinuous ones by using command-click (on Macs), you can then ‘copy’ whatever you have selected. The pasted result looks like this:

ALTER TABLE “DBA”.“ipox_stains” ADD “date_created” “datetime”;
ALTER TABLE “DBA”.“ipox_stains” ADD “pos_cntrl” integer;
ALTER TABLE “DBA”.“ipox_stains” ADD “completed_date” “datetime”;
COMMENT ON COLUMN “DBA”.“ipox_stains”.“completed_date” IS ‘date the ordering was completed’;
ALTER TABLE “DBA”.“ipox_stains” ADD “stained_date_search” varchar(50);
ALTER TABLE “DBA”.“ipox_stains” ADD “key_site” varchar(50);

If you just changed the column attributes, then change ADD to MODIFY. Using that and the column comment feature in Sybase Central to document changes as you go along makes it fairly simple to keep track and implement your backend changes. That output can be pretty easily changed into a stored procedure. This stored procedure would then be part of a method that, when filled, would execute the first time your customer relaunches his release. (Can’t remember the triggering method off the top of my head but I am pretty sure that there is one). Just a thought.

John