Topic
  • 5 replies
  • Latest Post - ‏2013-01-28T06:59:29Z by Raj.S
SystemAdmin
SystemAdmin
8614 Posts

Pinned topic Which development database do you use?

‏2013-01-23T13:00:05Z |
Currently we have embedded Derby DB installed on every developer computer. I have some problem according to this:

Derby supports only one connection simultaneously. I have to shut down WAS to examine DB structure and content with any Visual tool. Also I have no idea if it is even possible to use any profiler to watch what’s going on with DB when Commerce works. Do you use Derby? Does every developer in your team has his own database or DB is centralized and shared? Any possible disadvantages if I replace all developers Derby with local db2?

Thanks.
Updated on 2013-01-28T06:59:29Z at 2013-01-28T06:59:29Z by Raj.S
  • SystemAdmin
    SystemAdmin
    8614 Posts

    Re: Which development database do you use?

    ‏2013-01-24T04:18:15Z  
    In order to solve your issue of examining Db structure without shutdown WAS, try this:
    1. Copy directory <WCDE_InstallDir>\db\mall to another directory say mall_backup
    2. Use any visual tool for ex SQuirreL SQL Client with connection string url as jdbc:derby:<WCDE_InstallDir>\db\mall_backup

    With regard to profiler, use below tool this facilitates profiler view where you can monitor what is happening in DB while WAS is running
    http://www.ibm.com/developerworks/websphere/library/techarticles/0905_roberts/0905_roberts.html
  • SystemAdmin
    SystemAdmin
    8614 Posts

    Re: Which development database do you use?

    ‏2013-01-24T12:22:40Z  
    In order to solve your issue of examining Db structure without shutdown WAS, try this:
    1. Copy directory <WCDE_InstallDir>\db\mall to another directory say mall_backup
    2. Use any visual tool for ex SQuirreL SQL Client with connection string url as jdbc:derby:<WCDE_InstallDir>\db\mall_backup

    With regard to profiler, use below tool this facilitates profiler view where you can monitor what is happening in DB while WAS is running
    http://www.ibm.com/developerworks/websphere/library/techarticles/0905_roberts/0905_roberts.html
    BhavinMajithia, thank you. The link you provided is very useful.
    If someone is interested, installing on version 7 can be found here:
    http://wcstipsntricks.blogspot.ru/2013/01/steps-to-confgure-rad-sql-profiler-in.html
  • Raj.S
    Raj.S
    529 Posts

    Re: Which development database do you use?

    ‏2013-01-25T07:10:38Z  
    Hi,
    Would like to add something regarding your issue. It is always a good practice to have a common database (say DB2) shared across the development team. Having this centralized DB in place, the team would not need to really worry about the data updates or changes happened as a part of the development phase, which would save time for them.

    Rgds,Raj.
  • SystemAdmin
    SystemAdmin
    8614 Posts

    Re: Which development database do you use?

    ‏2013-01-25T14:21:58Z  
    Raj.S, thanks for your reply.

    Lets imagine that we have one common shared DB for our development team. One of developers starts to write new ControllerComand implementation. He compiles new CommandImpl class and makes record to db to associate it with relating interface. Then he starts debugging his new code, and discovers that it doesn't work right. At this moment other developers in our team are starting to catch bugs related to this new ControllerComand. Such kind of situations will produce lots of mess. That's why I wanted every developer to have his own DB.

    Knowing that commerce stores lots of code configuration in DB, how will you solve problems like this?
  • Raj.S
    Raj.S
    529 Posts

    Re: Which development database do you use?

    ‏2013-01-28T06:59:29Z  
    Raj.S, thanks for your reply.

    Lets imagine that we have one common shared DB for our development team. One of developers starts to write new ControllerComand implementation. He compiles new CommandImpl class and makes record to db to associate it with relating interface. Then he starts debugging his new code, and discovers that it doesn't work right. At this moment other developers in our team are starting to catch bugs related to this new ControllerComand. Such kind of situations will produce lots of mess. That's why I wanted every developer to have his own DB.

    Knowing that commerce stores lots of code configuration in DB, how will you solve problems like this?
    This issue does not really seem apt/realistic to me. But anyways, if you have any issue especially with CMDREG entries, a developer do not really need to have a CMDREG entry when he creates a test command for debugging purpose, they can just use the defaultCommandClassName variable in the interface.

    Coming back to your issue, it is up to the project/team to decide upon what kind of DB to be used. If every developer has an individual DB, then there is no other way to sync tables (Marketing / any data created out of Management Center) other than exporting and importing table data.

    Please consider the Pro's and Con's of both the ways and pick the one that suits your requirement.
    Rgds,Raj.