internal static string GetDropDatabaseCommand(string catalog) { var builder = new StringBuilder(); builder.AppendFormat("DROP DATABASE {0}", MySqlIdentifier.QuoteIdentifier(catalog)); return(builder.ToString()); }
private static void BuildPrimaryKey(MetaTable table, StringBuilder sb) { foreach (MetaDataMember member in table.RowType.IdentityMembers) { if (sb.Length > 0) { sb.Append(", "); } sb.Append(MySqlIdentifier.QuoteIdentifier(member.MappedName)); } }
public static string GetCreateDatabaseCommand(string catalog, string dataFilename, string logFilename) { var builder = new StringBuilder(); builder.AppendFormat("CREATE DATABASE {0};", MySqlIdentifier.QuoteIdentifier(catalog)); //if (dataFilename != null) //{ // builder.AppendFormat(" ON PRIMARY (NAME='{0}', FILENAME='{1}')", Path.GetFileName(dataFilename), dataFilename); // builder.AppendFormat(" LOG ON (NAME='{0}', FILENAME='{1}')", Path.GetFileName(logFilename), logFilename); //} builder.AppendLine(); builder.AppendFormat("Use {0};", catalog); return(builder.ToString()); }
private static string BuildKey(IEnumerable <MetaDataMember> members) { var builder = new StringBuilder(); foreach (MetaDataMember member in members) { if (builder.Length > 0) { builder.Append(", "); } builder.Append(MySqlIdentifier.QuoteIdentifier(member.MappedName)); } return(builder.ToString()); }
private static IEnumerable <string> GetCreateForeignKeyCommands(MetaType metaType) { foreach (var member in metaType.DataMembers) { if (member.IsDeclaredBy(metaType) && member.IsAssociation) { MetaAssociation association = member.Association; if (association.IsForeignKey) { var stringBuilder = new StringBuilder(); var thisKey = BuildKey(association.ThisKey); var otherKey = BuildKey(association.OtherKey); var otherTable = association.OtherType.Table.TableName; var mappedName = member.MappedName; if (mappedName == member.Name) { mappedName = string.Format(CultureInfo.InvariantCulture, "FK_{0}_{1}", new object[] { MySqlIdentifier.QuoteIdentifier(metaType.Table.TableName), MySqlIdentifier.QuoteIdentifier(member.Name) }); } var command = "ALTER TABLE {0}" + Environment.NewLine + " ADD CONSTRAINT {1} FOREIGN KEY ({2}) REFERENCES {3}({4})"; var otherMember = association.OtherMember; if (otherMember != null) { string deleteRule = association.DeleteRule; if (deleteRule != null) { command += Environment.NewLine + " ON DELETE " + deleteRule; } } yield return(stringBuilder.AppendFormat(command, new object[] { metaType.Table.TableName, mappedName, thisKey, otherTable, otherKey }).ToString()); } } } }
public static string GetCreateTableCommand(MetaTable table) { var builder = new StringBuilder(); var sb = new StringBuilder(); BuildFieldDeclarations(table, sb); builder.AppendFormat("CREATE TABLE {0}", MySqlIdentifier.QuoteIdentifier(table.TableName)); builder.Append("("); builder.Append(sb.ToString()); sb = new StringBuilder(); BuildPrimaryKey(table, sb); if (sb.Length > 0) { string s = string.Format(CultureInfo.InvariantCulture, "PK_{0}", new object[] { table.TableName }); builder.Append(", "); builder.AppendLine(); builder.AppendFormat(" CONSTRAINT {0} PRIMARY KEY ({1})", s, sb); } builder.AppendLine(); builder.Append(" )"); return(builder.ToString()); }