Datatype Conversion

Top  Previous  Next

When a new target database is selected, one of the steps that ModelRight takes is to convert the datatypes (if needed).   The Convert Datatype Script is used to accomplish this.   Its code looks something like:

  Select Case PrevDatabase ' what was the previous database type

      Case "MySQL 5.0", "MySQL 5.1"

          Select Case CurDatatypeName ' what was the name of the previous datatype

             Case "TINYINT", "BOOL", "BOOLEAN", "SMALLINT"

                 NewDatatype = "SMALLINT" ' specify the new datatype name

                 .

                 .

                 .

            Case Else

                    ' dont change it - let the datatype get deleted while still being used.

                     ' the app will let you know by issueing a warning - and inherit a default value

                 NewDatatype = ""

          End Select

       Case Else

           Document.Write("Unknown Previous Database")

          Exit Sub

   End Select

   If NewDatatype <> "" Then

       Obj.SetDatatype(NewDatatype) ' call SetDatatype to change the current objects datatype

  End If

   Document.Write("Ok") ' return Ok, or something else to flag an error

 

The advantage of this approach is that the Script could contain any sort of coding logic that you might want to use to determine the new datatype.  You could look at what the current object is that is having its datatype changed.  You could look at the length of the datatype and use that to determine the new datatype.  etc...

If you are converting from Oracle to another type of database, any Tables or Columns that use an Object Type will be converted to have the Object Type's Attributes represented as ordinary Columns.

As with any ModelRight Script, you can use the existing one, or change it for an individual object, the entire model, or all models.  See Scripting for more details.