private static string _CreateColumnDef(IDatabaseService db, ObjectIndexMetadata indexMetadata)
        {
            string name = db.EscapeCommandText(indexMetadata.Name);
            string type = "VARCHAR";
            string length = "(30)";
            string nullable = " NOT NULL";
            if (indexMetadata.Nullable)
            {
                nullable = " NULL";
            }

            switch (indexMetadata.DataType)
            {
                case ObjectIndexType.Integer:
                    type = "INT";
                    length = "";
                    break;
                case ObjectIndexType.Binary:
                    type = "VARBINARY";
                    length = "(" + indexMetadata.Precision + ")";
                    break;
                case ObjectIndexType.DateTime:
                    type = "DATETIME";
                    length = "";
                    break;
                case ObjectIndexType.Decimal:
                    type = "DECIMAL";
                    length = "(" + indexMetadata.Precision + "," + indexMetadata.Scale + ")";
                    break;
                default:
                    length = "(" + indexMetadata.Precision + ")";
                    break;
            }

            return string.Format("`{0}` {1}{2} {3}", name, type, length, nullable);
        }
 private static string _CreateTableName(IDatabaseService db, string objectFullName)
 {
     return db.EscapeCommandText(objectFullName.Replace('.', '_'));
 }
        private static string _CreateColumnDef(IDatabaseService db, ObjectIndexMetadata indexMetadata)
        {
            string name = db.EscapeCommandText(indexMetadata.Name);
            string type = "nvarchar";
            string length = "(30)";
            string nullable = (indexMetadata.Nullable) ? "NULL" : "NOT NULL";

            switch (indexMetadata.DataType)
            {
                case ObjectIndexType.Integer:
                    type = "int";
                    length = "";
                    break;
                case ObjectIndexType.Binary:
                    type = "varbinary";
                    length = "(" + indexMetadata.Precision + ")";
                    break;
                case ObjectIndexType.DateTime:
                    type = "datetime";
                    length = "";
                    break;
                case ObjectIndexType.Decimal:
                    type = "decimal";
                    length = "(" + indexMetadata.Precision + "," + indexMetadata.Scale + ")";
                    break;
                default:
                    length = "(" + indexMetadata.Precision + ")";
                    break;
            }

            return string.Format("[{0}] [{1}]{2} {3}", name, type, length, nullable);
        }