Migration.lua
上传用户:cccombo
上传日期:2021-01-31
资源大小:16445k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

SQL

  1. -- ----------------------------------------------------------------------------------------
  2. -- Copyright (C) 2004 MySQL AB
  3. --
  4. -- This program is free software; you can redistribute it and/or modify
  5. -- it under the terms of the GNU General Public License as published by
  6. -- the Free Software Foundation; either version 2 of the License, or
  7. -- (at your option) any later version.
  8. --
  9. -- This program is distributed in the hope that it will be useful,
  10. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. -- GNU General Public License for more details.
  13. --
  14. -- You should have received a copy of the GNU General Public License
  15. -- along with this program; if not, write to the Free Software
  16. -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  17. -- ----------------------------------------------------------------------------------------
  18. -- ----------------------------------------------------------------------------------------
  19. -- @file Migration.lua
  20. -- @brief Module that contains program logic for MySQL Migration
  21. -- ----------------------------------------------------------------------------------------
  22. -- ----------------------------------------------------------------------------------------
  23. -- @brief Returns the information about this module
  24. --
  25. --   Every Grt module has to implement this function to return information about the 
  26. -- module. Note that new functions that should be exposed to the Grt have to be listed 
  27. -- here. Function that are not exposed should start with a underscore.
  28. --
  29. -- @return A dict that contains the name and the function names of the module
  30. -- ----------------------------------------------------------------------------------------
  31. function getModuleInfo()
  32.   local moduleInfo= 
  33.     {
  34.       name= "Migration", 
  35.       functions= {
  36.         "initMigration::",
  37.         "shutdownMigration::"
  38.       }, 
  39.       extends= ""
  40.     }
  41.   return moduleInfo
  42. end
  43. -- ----------------------------------------------------------------------------------------
  44. -- @brief Initalizes the application
  45. --
  46. --   Creates an object of the struct db.workbench.Environment and assigns it to the
  47. -- global /workbench
  48. --
  49. -- @return 1 on success or an error
  50. -- ----------------------------------------------------------------------------------------
  51. function initMigration()
  52.   -- Generate a new db.migration.Migration object and set it to the global /migration
  53.   grtV.setGlobal("/migration", grtV.newObj("db.migration.Migration", "Migration", grt.newGuid(), ""))
  54.   -- Get all available RDBMS drivers
  55.   grtV.setGlobal("/rdbmsMgmt", grt.getRes(RdbmsManagement:getManagementInfo()))
  56.   
  57.   -- Load generic datatype mapping
  58.   if grt.fileExists("xml/GenericDatatypeMapping.xml") then
  59.     grtV.setGlobal("/migration/genericDatatypeMappings", grtV.load("xml/GenericDatatypeMapping.xml"))
  60.   end
  61.   -- Free GRT values cached on Lua side
  62.   collectgarbage()
  63.   return grt.success()
  64. end
  65. -- ----------------------------------------------------------------------------------------
  66. -- @brief Performs actions when the application is shut down
  67. --
  68. --   Performs several actions shortly before the application is shut down
  69. --
  70. -- @return 1 on success or an error
  71. -- ----------------------------------------------------------------------------------------
  72. function shutdownMigration(args)
  73.   RdbmsManagement:storeConns({grtV.getGlobal("/rdbmsMgmt/storedConns")})
  74.   return grt.success()
  75. end