Derby
  1. Derby
  2. DERBY-1651

Develop a mechanism to migrate mySQL databases to Derby. Migration tool should include both schema and data migration options.

    Details

    • Type: Improvement Improvement
    • Status: In Progress
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Tools
    • Labels:
      None
    • Environment:
      All platforms

      Description

      Develop a mechanism to migration databases created by other database engines to Derby. While my current interest is to migrate mySQL databases to Derby, the tool could be developed in a way to extend this mechanism to allow migration from other database engines in the future.

      More details of proposed functionality and implementation strategy can be found at:
      http://wiki.apache.org/db-derby/MysqlDerbyMigration

      The plan is to develop and submit patches incrementally. First patch supports migration of tables and views from mySQL database to Derby.

        Issue Links

          Activity

          Hide
          Satheesh Bandaram added a comment -

          Ramin, I am going to update the description and summary. If you don't like it, please change it as you see fit.

          It is important to have the description cover the whole feature but say you are working on implementing parts of the functionality and submit each part as being developed.

          Show
          Satheesh Bandaram added a comment - Ramin, I am going to update the description and summary. If you don't like it, please change it as you see fit. It is important to have the description cover the whole feature but say you are working on implementing parts of the functionality and submit each part as being developed.
          Hide
          Ramin Moazeni added a comment -

          [8/15/06]

          This revision added support for procedures, and catalogs to the Database Migration toolkit as well as the User Interface. Currently, migration of tables, views, and catalogs is suported as well as assistance with migration of stored procedures. The patch is attched with this report.

          Show
          Ramin Moazeni added a comment - [8/15/06] This revision added support for procedures, and catalogs to the Database Migration toolkit as well as the User Interface. Currently, migration of tables, views, and catalogs is suported as well as assistance with migration of stored procedures. The patch is attched with this report.
          Hide
          Daniel John Debrunner added a comment -

          The patch has classes in the package 'Derby", I assume these would need to move into something in the
          org.apache.derby.tools area.

          The new files have the old coopyright/licence header so would need to be fixe dup to match the current style.

          The code has hardly any comments, this stopped me from reviewing it any more as I don't have time to guess or try to figure out what each class and method is meant to be doing.

          Show
          Daniel John Debrunner added a comment - The patch has classes in the package 'Derby", I assume these would need to move into something in the org.apache.derby.tools area. The new files have the old coopyright/licence header so would need to be fixe dup to match the current style. The code has hardly any comments, this stopped me from reviewing it any more as I don't have time to guess or try to figure out what each class and method is meant to be doing.
          Hide
          Satheesh Bandaram added a comment -

          Some general comments:

          1) I think a design document to explain what each class does and how they interact with each other is required. Other option is to create a package.html file and document design/code in place. I think the second option is better.

          At the mininum, each class needs a detailed javadoc at the beginning and for each major method. Important and useful contribution like this may not get accepted if not documented properly.

          2) Package location needs to be changed. All tools are in org.apache.derby.tools package. Best to follow existing tools like IJ, DBLOOK model so it would be easy to use and to enable derbyrun option for this tool later.

          3) Looks like the code uses generics, which limit the use to JDK 1.5 platforms. While this may be ok, need to document need for JDK 1.5 platform and raise appropriate message if used in earlier platforms. Most of derby can still run on JDK 1.3 platforms, though not required for new indepedent modules.

          4) There are many areas that need improvements in the code... like exception handling, importing only classes that are needed not the whole package, deleting code that is in comments etc. I understand the code is still in development.

          I would like to suggest you focus on completing current functionality very well, document what you have done, move code and integrate it at appropriate location and test current functionality before adding more.

          Better to submit partial code that is well written than submit more code that is not very usable.

          Show
          Satheesh Bandaram added a comment - Some general comments: 1) I think a design document to explain what each class does and how they interact with each other is required. Other option is to create a package.html file and document design/code in place. I think the second option is better. At the mininum, each class needs a detailed javadoc at the beginning and for each major method. Important and useful contribution like this may not get accepted if not documented properly. 2) Package location needs to be changed. All tools are in org.apache.derby.tools package. Best to follow existing tools like IJ, DBLOOK model so it would be easy to use and to enable derbyrun option for this tool later. 3) Looks like the code uses generics, which limit the use to JDK 1.5 platforms. While this may be ok, need to document need for JDK 1.5 platform and raise appropriate message if used in earlier platforms. Most of derby can still run on JDK 1.3 platforms, though not required for new indepedent modules. 4) There are many areas that need improvements in the code... like exception handling, importing only classes that are needed not the whole package, deleting code that is in comments etc. I understand the code is still in development. I would like to suggest you focus on completing current functionality very well, document what you have done, move code and integrate it at appropriate location and test current functionality before adding more. Better to submit partial code that is well written than submit more code that is not very usable.
          Hide
          Rick Hillegas added a comment -

          Moving to 10.2.2.0.

          Show
          Rick Hillegas added a comment - Moving to 10.2.2.0.
          Hide
          Mike Matrigali added a comment -

          Unsetting patch available, derby is using the patch available flag as an indication that the current patch is ready to
          be reviewed/committed. The patch has been reviewed by a couple of committers and there are a number of comments in the issue indicating this patch is not ready to be
          committed. If the contributer disagrees go ahead an set patch available again, and respond to the comments posted.

          Show
          Mike Matrigali added a comment - Unsetting patch available, derby is using the patch available flag as an indication that the current patch is ready to be reviewed/committed. The patch has been reviewed by a couple of committers and there are a number of comments in the issue indicating this patch is not ready to be committed. If the contributer disagrees go ahead an set patch available again, and respond to the comments posted.
          Hide
          Rick Hillegas added a comment -

          Moving to 10.2.3.0.

          Show
          Rick Hillegas added a comment - Moving to 10.2.3.0.
          Hide
          Andrew McIntyre added a comment -

          Unsetting fix version, no movement for over a year.

          Show
          Andrew McIntyre added a comment - Unsetting fix version, no movement for over a year.
          Hide
          Rick Hillegas added a comment -

          On the derby-dev list, Jørgen Løland points out that Table Functions would be a good tool for migrating the data from the foreign database into Derby.

          Show
          Rick Hillegas added a comment - On the derby-dev list, Jørgen Løland points out that Table Functions would be a good tool for migrating the data from the foreign database into Derby.
          Hide
          Kathey Marsden added a comment -

          Unassigning due to inactivity. Please reassign yourself if you would like to work on this issue.

          Show
          Kathey Marsden added a comment - Unassigning due to inactivity. Please reassign yourself if you would like to work on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Ramin Moazeni
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Development