473,748 Members | 2,594 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How do you manage changes from development server to production server?

Hi!

What started out as a simple test of mysql has turned into what is
quickly becoming a replacement for our entire business system and web
site

The bad news is that we are now wrestling with how to we continue
working on development the system without risking down time for users.
If we work on a development server, how can we log the changes to table
structure and then apply them to the live database on the production
server when we are done testing?

Is there some sort of tool or log that would just let us apply table
structure changes to another copy of the database?

Jul 29 '05 #1
4 2212
zacware wrote:
Is there some sort of tool or log that would just let us apply table
structure changes to another copy of the database?


I use mysql-console for small changes by giving direct sql-commands like:
alter table user add column age int unsigned default 0;

But if there are many changes I usually create .sql file with similar
commands as above, but in one while. And then I use the same
mysql-console either by copy-pasting the queries to there, or if there
are too many, I call from commandline:
$ mysql -u user -p databasename < queries.sql

Which is basicly same as copy-pasting queries from a file into the
database, except without force-flag execution of queries is stopped on
errors.
I usually do this so that I write the query down. Then I copy-paste it
to development release to see that it actually works. After testing I
copy-paste the same query to release-database.

If you want to minimize the risk of making errors. Create one single
file where you will put all the update queries. Then, under or above of
each query write down when and where you have executed it. This way you
should see right away if some query is not executed for example in
release version.
Jul 29 '05 #2
zacware wrote:
Hi!

What started out as a simple test of mysql has turned into what is
quickly becoming a replacement for our entire business system and web
site

The bad news is that we are now wrestling with how to we continue
working on development the system without risking down time for users.
If we work on a development server, how can we log the changes to table
structure and then apply them to the live database on the production
server when we are done testing?

Is there some sort of tool or log that would just let us apply table
structure changes to another copy of the database?

Since you are dealing with a business and can't afford
interruptions to service you need two things: 1 - a test server
and 2 - a release control system.

A release control system can be as simple as once a week copying
the development database and programs to the test server and
then running an exhaustive set of tests and once satisfied
copying the programs and modifying the database on the
production server.

If you find that you consistently need more than one release per
week you have some serious development problems that you had
better fix -- quickly.

Once your system matures you should be able to increase to semi
annual or annual major releases with minor releases as needed to
cope with external changes that force changes to your applications.

HTH
Jerry
Jul 29 '05 #3
zacware wrote:
Hi!

What started out as a simple test of mysql has turned into what is
quickly becoming a replacement for our entire business system and web
site

The bad news is that we are now wrestling with how to we continue
working on development the system without risking down time for users.
If we work on a development server, how can we log the changes to table
structure and then apply them to the live database on the production
server when we are done testing?

Is there some sort of tool or log that would just let us apply table
structure changes to another copy of the database?

I use phpMyAdmin which lets me make those changes manually real easy and
lets me export/import SQL format files that build/rebuild/populate the
tables.

Maybe that doesn't really answer your question though. For incremental
changes once it's up, I simply email myself the various update queries
to keep them together. phpMyAdmin does help visually comparing the two
in case I miss something.
Jul 31 '05 #4
zacware (za*****@comcas t.net) wrote:
: Hi!

: What started out as a simple test of mysql has turned into what is
: quickly becoming a replacement for our entire business system and web
: site

: The bad news is that we are now wrestling with how to we continue
: working on development the system without risking down time for users.
: If we work on a development server, how can we log the changes to table
: structure and then apply them to the live database on the production
: server when we are done testing?

: Is there some sort of tool or log that would just let us apply table
: structure changes to another copy of the database?

Often CVS is used as the underlying tool to help control this.

Table definitions and changes (and etc) should always be done via a
script. The person that creates the script should check it into CVS.
After testing, all the scripts that are ready for the next version should
be applied, by someone other than the developer, by checking the code out
of CVS and applying it.

Naturally this should be done several times before being done on the
production server. First the process is done in development, then it's
done to the test server, and finally, it's done to production.

The above just skims the surface, but that's basicly what you need to do.

Aug 1 '05 #5

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

Similar topics

3
3677
by: Bill Willyerd | last post by:
Hello All, I have been searching for a published document for Best Practices concerning access levels based on roles. Should developers have more than (if at all) select level access to production data? If I understand (from multiple postings) that it is best to have: 1. Development (developers have extensive access levels) 2. Test (developers have restriced access levels) and 3. Production (developers have none or select level access)...
6
2667
by: Klaus Jensen | last post by:
Hi! I have a pretty traditional setup where I develop on my local PC and the use "Copy Project" to deploy to the production enviroment.. In web.config I need different values for connectionstrings etc for development and production - pretty normalt stuff. Currently I edit the web.config manually before deploying, and have never forgotten - but I know it is a matter of time before I or a colleague do.
0
1185
by: AC [MVP MCMS] | last post by:
I have a web application that is throwing a common error, but in a very unusual state. I'm specifically receiving the following error: "Failed to start monitoring changes to 'd:\inetpub\wwwroot'." The error is being thrown on one of the <%@ Register %> tags at the top of the ASX page that's registering ASP.NET user controls ASCX we wrote. What's unusual is that this machine only has a single volume (c:\). We built this app in a...
5
2130
by: Matt | last post by:
Hello, What is the best way to handle the database connection string for a class library project that will be compiled and used as a .dll? This .dll will be accessed via classic ASP and in the future by ASP.NET pages. I have created a constant that contains the connection string (as shown below).
1
1207
by: bay_dar | last post by:
We are wondering what is the best way to go about managing production and development versions of our ASP.NET applications. We often publish a production version of a .NET application but then we may need to make longer term upgrades to the application that may take several weeks. Of course in the mean time, we might have to make a quick update to the production code, but we don't want to publish our longer term upgrades yet. Currently,...
3
2902
by: RichardLamont | last post by:
We often have to migrate changes to sql server 2000 databases from development to production. Normally we dump the sql from Enterprise Manager for production and development and do a diff (using CSDiff - downloadable for free). From the diff information we create some scripts to add new tables or alter existing tables as required. This is time consuming and error-prone. I am now trying the following: 1. Backup up the Development...
2
1990
by: gsauns | last post by:
Hello, I have just put a new virtual server in place that I intend to make my development server. I would like to develop and test on that new server, and host my production apps on my production server. I also have identical databases on each server. Now, when I first brought up my app by going to the development server's URL, I got an access denied error on a Connection String in my app. OK, fine, I can just change it to fit my...
5
1641
by: walterbyrd | last post by:
I don't know much php either, but running a php app seems straight forward enough. Python seems to always use some sort of development environment vs production environment scheme. For development, you are supposed to run a local browser and load 127.0.0.1:5000 - or something like that. Then to run the same thing in a development environment, I have to configure some files, or touch all the files, restart the web-server, or something....
1
1059
by: Bobby Edward | last post by:
Here's the situation.... 1. Local dev environment is VS2005 and VS2008 / using SQL Express databases for data 2. Hosting company ONLY supports MS SQL Server 2005 databases Here are the questions... 1. Should I develop using SQL Express, or would my life be easier if I had my local dev machine connected to a local SQL Server db? Any advantages or
0
8832
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
9386
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...
0
9254
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
8255
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6799
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6078
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
4608
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
2791
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2217
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.