473,805 Members | 1,905 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

database and interface versioning issues

I have a general question for anyone who would like to give me input.
My boss is interested in making our interface backward compatible with
all previous databases. I'm not really sure that's going to be
possible without putting a lot of ugly and difficult to maintain if
statements all throughout in the code. To be honest, I'm still a
little inexperienced with general industry practices. What do most
people do when they make changes to the interface and corresponding
database that make the interface incompatible with previous versions
of the database? For instance you add/delete a field or you change a
relationship for one-to-many to one-to-one?

Thanks for the input,
Dave
Nov 12 '05 #1
6 1828
On 3 Nov 2003 21:20:06 -0800, he******@aol.co m (headware) wrote:

If it is an in-house application, I would force everyone to upgrade.
-Tom.

I have a general question for anyone who would like to give me input.
My boss is interested in making our interface backward compatible with
all previous databases. I'm not really sure that's going to be
possible without putting a lot of ugly and difficult to maintain if
statements all throughout in the code. To be honest, I'm still a
little inexperienced with general industry practices. What do most
people do when they make changes to the interface and corresponding
database that make the interface incompatible with previous versions
of the database? For instance you add/delete a field or you change a
relationship for one-to-many to one-to-one?

Thanks for the input,
Dave


Nov 12 '05 #2
No, it's not just in-house.

Tom van Stiphout <to*****@no.spa m.cox.net> wrote in message news:<np******* *************** **********@4ax. com>...
On 3 Nov 2003 21:20:06 -0800, he******@aol.co m (headware) wrote:

If it is an in-house application, I would force everyone to upgrade.
-Tom.

I have a general question for anyone who would like to give me input.
My boss is interested in making our interface backward compatible with
all previous databases. I'm not really sure that's going to be
possible without putting a lot of ugly and difficult to maintain if
statements all throughout in the code. To be honest, I'm still a
little inexperienced with general industry practices. What do most
people do when they make changes to the interface and corresponding
database that make the interface incompatible with previous versions
of the database? For instance you add/delete a field or you change a
relationship for one-to-many to one-to-one?

Thanks for the input,
Dave

Nov 12 '05 #3
On 4 Nov 2003 10:14:45 -0800, he******@aol.co m (headware) wrote:

For a commercial app, I would probably support a limited number of
versions. But that's not quite the point here: for each client, and
I'm assuming 1 back-end per client, you can still force everyone to be
on the same version.

-Tom.

No, it's not just in-house.

Tom van Stiphout <to*****@no.spa m.cox.net> wrote in message news:<np******* *************** **********@4ax. com>...
On 3 Nov 2003 21:20:06 -0800, he******@aol.co m (headware) wrote:

If it is an in-house application, I would force everyone to upgrade.
-Tom.

>I have a general question for anyone who would like to give me input.
>My boss is interested in making our interface backward compatible with
>all previous databases. I'm not really sure that's going to be
>possible without putting a lot of ugly and difficult to maintain if
>statements all throughout in the code. To be honest, I'm still a
>little inexperienced with general industry practices. What do most
>people do when they make changes to the interface and corresponding
>database that make the interface incompatible with previous versions
>of the database? For instance you add/delete a field or you change a
>relationship for one-to-many to one-to-one?
>
>Thanks for the input,
>Dave


Nov 12 '05 #4
When we roll out a new version in our commercial application, both the
BE and the FE will include changes. Our software includes an option
to update to the new version by pulling updated and new objects into
the front end. The software also applies any changes to the BE (i.e.
new tables, fields, indexes, relationships). I can not imagine trying
to maintain a FE that is capable of working with all previous versions
of the BE. As you say, that would require adding a lot of code just
for that purpose. Using version numbers in both the FE and the BE is
the simplest way for the FE to assure it is attached to a correct BE.
And the FE only has to check the BE once at startup for proper
version.

On 3 Nov 2003 21:20:06 -0800, he******@aol.co m (headware) wrote:
I have a general question for anyone who would like to give me input.
My boss is interested in making our interface backward compatible with
all previous databases. I'm not really sure that's going to be
possible without putting a lot of ugly and difficult to maintain if
statements all throughout in the code. To be honest, I'm still a
little inexperienced with general industry practices. What do most
people do when they make changes to the interface and corresponding
database that make the interface incompatible with previous versions
of the database? For instance you add/delete a field or you change a
relationship for one-to-many to one-to-one?

Thanks for the input,
Dave


Nov 12 '05 #5
I like the idea of writing a database updating program that takes an
old database and changes it into a new database by adding the tables
and fields needed. That's a much better fix that putting if statements
all throughout the interface.

I'm not sure what you mean by "pulling updated and new objects into
the front end". Are you saying that your program can update the
interface as well as the database structure? Why would you need to do
that? Is that in case you have an old interface and a newer database
that you want to use together?

Thanks for the input,
Dave

no****@nospam.n ospam (Rick Collard) wrote in message news:<3f******* *********@news. west.earthlink. net>...
When we roll out a new version in our commercial application, both the
BE and the FE will include changes. Our software includes an option
to update to the new version by pulling updated and new objects into
the front end. The software also applies any changes to the BE (i.e.
new tables, fields, indexes, relationships). I can not imagine trying
to maintain a FE that is capable of working with all previous versions
of the BE. As you say, that would require adding a lot of code just
for that purpose. Using version numbers in both the FE and the BE is
the simplest way for the FE to assure it is attached to a correct BE.
And the FE only has to check the BE once at startup for proper
version.

On 3 Nov 2003 21:20:06 -0800, he******@aol.co m (headware) wrote:
I have a general question for anyone who would like to give me input.
My boss is interested in making our interface backward compatible with
all previous databases. I'm not really sure that's going to be
possible without putting a lot of ugly and difficult to maintain if
statements all throughout in the code. To be honest, I'm still a
little inexperienced with general industry practices. What do most
people do when they make changes to the interface and corresponding
database that make the interface incompatible with previous versions
of the database? For instance you add/delete a field or you change a
relationship for one-to-many to one-to-one?

Thanks for the input,
Dave

Nov 12 '05 #6
Our clients may customize our software to address their unique
requirements. Therefore, we can not just send out a new FE to each
site. The new version has to be applied to their existing FE to
preserve their customizations. In some cases there will be some
manual work after the update but it still works quite well.

We send out a single update.mdb file that gets copied to the same
folder as the FE on a single workstation. The FE includes a menu
option to install the update. When invoked, it pulls a version update
form and table from update.mdb into the FE which drives the process.
If they proceed with the update, updated FE objects are deleted and
replaced with copies in update.mdb and new objects are added. When
the FE update is complete the system recompiles the FE and exits. The
user now opens update.mdb which has its own UI to apply the changes to
the BE. Once both FE and BE have been updated they now have new
version numbers that match. The last step is to distribute the
updated FE to all workstations. HTH

Rick Collard
www.msc-lims.com

On 5 Nov 2003 22:54:17 -0800, he******@aol.co m (headware) wrote:
I like the idea of writing a database updating program that takes an
old database and changes it into a new database by adding the tables
and fields needed. That's a much better fix that putting if statements
all throughout the interface.

I'm not sure what you mean by "pulling updated and new objects into
the front end". Are you saying that your program can update the
interface as well as the database structure? Why would you need to do
that? Is that in case you have an old interface and a newer database
that you want to use together?

Thanks for the input,
Dave


Nov 12 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
3379
by: Jorge_Beteta | last post by:
Hello, I work for an attorney staff, so basically the whole day they are sending themselves a lot and a lot of papers (Word docs or Excell sheets). We are going to propose them the use of a Document Exchange and Database System (like Lotus Notes or Oracle Managment Content, formerly known as Internet File System IFS ) with .NET interfazes. Basically the idea is that instead of sending papers the whole day,
3
1864
by: Alex Stevens | last post by:
Hi All, I'm trying to get around a problem that I'm having with versioning. I have a DLL called Control.dll and it is at version 1.0. I choose to inherit from one of the controls, and build my own control - MyControl.dll and it is at version 1.0 also. MyControl.dll is then used in MyApplication project. Control.dll is also used in My Application project.
2
528
by: PatrickSA | last post by:
Hi, Am new to web services, so apologies for the basic nature of the question - and apologies in advance if this is the wrong newsgroup. We're building a new web service and I'm looking around for documentation on a number of issues, including versioning of web service interfaces... I've spent the last few hours looking through books, Google, MSDN and surprisingly I have found little or nothing that explains/shows how to practically...
2
2143
by: Mike | last post by:
Hi I have been tasked with converting my pulp and paper mills weekly projected and actual contractor hrs excel spreadsheet into a an Access 97 database. So far my design has been to use a form with a button for each to day navigate the recordset of a single table using .findfirst and .nomatch and I am worried about performance as I'm basically creating a flat file.
4
3905
by: yoz | last post by:
Hi everyone, I wonder if you can shed some light on a problem I have. I am exporting a C# .Net set of classes to COM. All of it is exported properly but the interface inheritences are not in the type library. for example: public interface IA {
20
4266
by: Ole Hanson | last post by:
I am accessing my database through an interface, to allow future substitution of the physical datastore - hence I would like to declare in my Interface that my DAL-objects implementing the interface and accessing the datastore MUST pass in a UserToken in the constructor of the object. Is this not possible? Am I forced to add the UserToken as a property on the object instead? /Ole
12
1430
by: dgk | last post by:
I'm planning on writing a fairly small app (VB2005) to be distributed via shareware that needs a single user database. I don't even think that SQL Server Express edition is needed since I think that it is essentially a true DB that runs all the time. I really need something like Access and was thinking about using it but there is so little documentation available on using Access from DotNet that I have to feel that it is not the answer....
3
1575
by: windandwaves | last post by:
Hi Folk I have been asked to create an e-commerce website, where we need to connect to an SQL database. The database is used to run their POS in several branches. As this database is on the company server and we are hosting the website with a webhost we have to solve an communication issue. Here are the options that I can see:
7
10602
by: WTH | last post by:
I am now aware (I am primarily a C++ developer) that in C# if you reference the same interface from the same file in two different projects the types are actually incompatible. I found this out because I have written a generic plugin system for my current and future C# needs. I defined a base plugin system interface named IPlugin (original, I know...) which contains some basic plugin infomration all plugins of this system must expose...
0
9596
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10609
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10360
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10366
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10105
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6876
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5542
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3845
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3007
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.