NYCPHP Meetup

NYPHP.org

[nycphp-talk] Microsoft Access application conversion recommendations

Paul Houle paul at devonianfarm.com
Sun Mar 11 22:09:13 EDT 2007


David Krings wrote:
>
> My point is to foremost forget about the old system and make a new 
> shiny one. Then see on how to get old data ported over, ideally the 
> least amount with which you can get away with.
>
> Just the 2€ from someone who never did anything like this....
>
    It's hard to say.  You really ought to consider this option,  but it 
depends on how you feel about the quality of the existing database.

    I recently did some work on a project that was botched by another 
programmer -- the presenting problem was that a particular feature 
didn't work right.  Looking deep inside,  I saw that certain database 
structures were hopeless,  making the feature impossible to implement in 
a reliable and maintainable way.  It took about 100 hours to understand 
the requirements,  change the database structure and rework the rest of 
the application to use the new database structure.  After all that,  it 
took 5 hours to implement the new feature.  What's great about it is 
that the new design reflects the business reality so well that it 
reflects scenarios that the client and I never thought of -- and can 
sometimes be accomodated in 15 minutes to 2 hours worth of work.

    If the old database design is good,  it makes sense to keep the 
database.  If the old database makes you want to punch the wall,  then 
you'd better consider switching.  Even though desktop databases are 
often overgrown spreadsheets,  I've seen Access databases that are as 
beautifully designed as any Oracle or MySQL database.

    If you keep the existing database,  you can have the PHP and Access 
versions running in parallel.  You might port the 20% of functions that 
80% of people use to PHP first,  and make a gradual transition towards 
eliminating the Access version.  This approach takes a lot of risk out 
of the transition -- one problem with the "Build System B and migrate to 
it" approach is that you might build system B from scratch and think 
that it's really great,  but discover that the migration isn't really 
possible once you try it.





More information about the talk mailing list