public static void SchemaManagerSetFKShouldAddFK() { SchemaManager mgr = new SchemaManager(); SchemaDefinition schema = mgr.SetSchema("test"); string tableName = "Referencee"; mgr.AddTable(tableName); mgr.AddColumn(tableName, new Column("PutColumnName", DataTypes.Boolean)); string refering = "Referencer"; mgr.AddTable(refering); mgr.AddColumn(refering, new Column("fk", DataTypes.Long)); int initCount = schema.ForeignKeys.Length; mgr.SetForeignKey(tableName, refering, "fk"); Expect.AreEqual(initCount + 1, schema.ForeignKeys.Length); Table referenced = mgr.GetTable(tableName); Table referencer = mgr.GetTable(refering); Expect.AreEqual(schema.ForeignKeys.Length, referenced.ReferencingForeignKeys.Length); Expect.AreEqual(0, referencer.ReferencingForeignKeys.Length); DeleteSchema(schema); }
public static void AddForeignKeyShouldFailIfColumnNotDefined() { SchemaManager mgr = new SchemaManager(); SchemaDefinition s = mgr.SetSchema("test"); mgr.AddTable("TableOne"); mgr.AddTable("ReferringTable"); SchemaResult r = mgr.SetForeignKey("TableOne", "ReferringTable", "TableOneID"); Expect.IsFalse(r.Success); OutLine(r.Message, ConsoleColor.Yellow); TryDeleteSchema(s); }
private static SchemaManager GetTestSchemaManager() { SchemaManager mgr = new SchemaManager(); mgr.AddTable("Person"); mgr.AddColumn("Person", "Id", DataTypes.Long); mgr.AddColumn("Person", "Name", DataTypes.String); mgr.AddTable("Employee"); mgr.AddColumn("Employee", "Id", DataTypes.Long); mgr.AddColumn("Employee", "Salary", DataTypes.Decimal); SchemaResult result = mgr.SetForeignKey("Person", "Employee", "Id", "Id"); Expect.IsTrue(result.Success, $"Message: {result.Message}\r\nException: {result.ExceptionMessage}"); return(mgr); }
private static SchemaDefinition GetTestSchema() { SchemaManager mgr = new SchemaManager(); SchemaDefinition schema = mgr.SetSchema("test"); mgr.AddTable("monkey"); return schema; }
public void SchemaMgrSetPropertyShouldSetPropertyNameOfColumn() { string tableName = "Test"; string columnName = "ColumnName"; string propertyName = "PropertyName"; FileInfo schemFile = new FileInfo(".\\{0}.json"._Format(MethodBase.GetCurrentMethod().Name)); SchemaDefinition def = new SchemaDefinition(); def.ToJsonFile(schemFile); SchemaManager mgr = new SchemaManager(schemFile); mgr.AddTable(tableName); mgr.AddColumn(tableName, columnName); Table testTable = mgr.GetTable(tableName); Column column = testTable.Columns[0]; Expect.AreEqual(1, testTable.Columns.Length); Expect.AreEqual(columnName, column.Name); Expect.AreEqual(column.Name, column.PropertyName); mgr.SetColumnPropertyName(tableName, columnName, propertyName); testTable = mgr.GetTable(tableName); column = testTable.Columns[0]; Expect.AreEqual(1, testTable.Columns.Length); Expect.AreEqual(columnName, column.Name); Expect.AreEqual(propertyName, column.PropertyName); }
private static SchemaDefinition CreateTestTables(string targetTable, string referencingTable, SchemaManager mgr) { SchemaDefinition schema = mgr.SetSchema("fkTest"); DeleteSchema(schema); schema = mgr.SetSchema("fkTest"); mgr.AddTable(targetTable); mgr.AddColumn(targetTable, new Column("PutColumnName", DataTypes.ULong)); mgr.AddTable(referencingTable); mgr.AddColumn(referencingTable, new Column("PutColumnName", DataTypes.ULong)); mgr.SetForeignKey(targetTable, referencingTable, "fk"); return(schema); }
protected override void AddSchemaTables(TypeSchema typeSchema, SchemaManager schemaManager, ITypeTableNameProvider tableNameProvider = null) { tableNameProvider = tableNameProvider ?? new EchoTypeTableNameProvider(); foreach (Type topType in typeSchema.Tables) { TypeInheritanceDescriptor inheritance = new TypeInheritanceDescriptor(topType); Type inheritFrom = null; inheritance.Chain.BackwardsEach(typeTable => { string tableName = typeTable.GetTableName(tableNameProvider); schemaManager.AddTable(tableName); schemaManager.ExecutePreColumnAugmentations(tableName); typeTable.PropertyColumns.Each(pc => { AddPropertyColumn(schemaManager, typeSchema.DefaultDataTypeBehavior, tableName, pc.PropertyInfo); }); schemaManager.ExecutePostColumnAugmentations(tableName); schemaManager.AddColumn(tableName, "Id", DataTypes.Long); if (inheritFrom != null) { schemaManager.SetForeignKey(tableNameProvider.GetTableName(inheritFrom), tableName, "Id", "Id"); } else { schemaManager.SetKeyColumn(tableName, "Id"); } inheritFrom = typeTable.Type; }); } }
public static void SchemaMgrAddColumnShouldSuccess() { string tableName = "tableOne"; SchemaManager mgr = new SchemaManager(); SchemaDefinition s = mgr.SetSchema("test"); SchemaResult r = mgr.AddTable(tableName); r = mgr.AddColumn(tableName, new Column("ColumnOne", DataTypes.Long, false)); Expect.IsTrue(r.Success); }
public static void SchemaMgrAddTableShouldSuccess() { SchemaManager mgr = new SchemaManager(); SchemaDefinition s = mgr.SetSchema("test"); SchemaResult r = mgr.AddTable("tableOne"); Expect.IsTrue(r.Success); TryDeleteSchema(s); }
protected virtual void AddSchemaTables(TypeSchema typeSchema, SchemaManager schemaManager, ITypeTableNameProvider tableNameProvider = null) { tableNameProvider = tableNameProvider ?? new EchoTypeTableNameProvider(); foreach (Type tableType in typeSchema.Tables) { string tableName = GetTableNameForType(tableType, tableNameProvider); schemaManager.AddTable(tableName); schemaManager.ExecutePreColumnAugmentations(tableName); AddPropertyColumns(tableType, schemaManager, typeSchema.DefaultDataTypeBehavior); schemaManager.ExecutePostColumnAugmentations(tableName); } }
public static void SchemaManagerAddColumnShouldAddColumn() { SchemaManager mgr = new SchemaManager(); SchemaDefinition schema = mgr.SetSchema("test"); string tableName = "Babboons"; mgr.AddTable(tableName); mgr.AddColumn(tableName, new Column("PutColumnName", DataTypes.Boolean)); Table table = mgr.GetTable(tableName); Expect.IsTrue(table.Columns.Length == 1); DeleteSchema(schema); }
public void GetTableShouldReturnTable() { string table = "TableName"; SchemaManager sm = new SchemaManager(); sm.SetSchema("test_schema".RandomString(4)); sm.AddTable(table); Table t = sm.GetTable(table); Expect.IsNotNull(t); Expect.AreEqual(t.Name, table); }
public void SchemaMgrSetClassNameShouldSetClassNameOfTable() { string tableName = "Test"; string className = "ClassName"; FileInfo schemFile = new FileInfo(".\\{0}.json"._Format(MethodBase.GetCurrentMethod().Name)); SchemaDefinition def = new SchemaDefinition(); def.ToJsonFile(schemFile); SchemaManager mgr = new SchemaManager(schemFile); mgr.AddTable(tableName); Table testTable = mgr.GetTable(tableName); Expect.AreEqual(tableName, testTable.Name); Expect.AreEqual(tableName, testTable.ClassName); mgr.SetTableClassName(tableName, className); testTable = mgr.GetTable(tableName); Expect.AreEqual(tableName, testTable.Name); Expect.AreEqual(className, testTable.ClassName); }