public void CanCreateSchema() { var mapper = new AutoMapper(); var map = mapper.GetMap(typeof(SomeClass)); var properties = map.Properties; var keyProperties = properties.Where(p => p.IsKey); var creator = new SchemaManager(new SqlConnectionFactory(ConnectionString), "testtable", "testdata", "testproc", keyProperties, properties, schema: "bimse"); creator.DropSchema(true, true, true); creator.CreateSchema(true, true, true); }
public void CreateTablesWithIndices(MappingSchema schema, IEnumerable <Type> dataObjectTypes) { foreach (var dataObjectType in dataObjectTypes) { var schemaManager = new SchemaManager(dataObjectType); schemaManager.CreateSchema(_dataConnection); var tableManager = TableManager.Create(dataObjectType); tableManager.CreateTable(_dataConnection); var indexManager = new IndexManager(dataObjectType); indexManager.CreateIndices(_dataConnection); } }
private void ProcessCreateSchema(Session session, SchemaManager schemaManager) { QNameManager.QName name = (QNameManager.QName) this.Arguments[0]; Grantee owner = (Grantee)this.Arguments[1]; session.CheckDdlWrite(); if (!schemaManager.SchemaExists(name.Name)) { schemaManager.CreateSchema(name, owner); base.Sql = schemaManager.FindSchema(name.Name).GetSql(); } else if (!session.IsProcessingScript() || !"PUBLIC".Equals(name.Name)) { throw Error.GetError(0x1580, name.Name); } }
public void CanCreateSchema() { using var connection = new SqlConnection(ConnectionString); connection.Open(); using var command = connection.CreateCommand(); command.CommandText = @" if not exists (select top 1 * from [sys].[schemas] where [name] = 'bimse') exec('create schema bimse'); "; command.ExecuteNonQuery(); var mapper = new AutoMapper(); var map = mapper.GetMap(typeof(SomeClass)); var properties = map.Properties; var keyProperties = properties.Where(p => p.IsKey); var creator = new SchemaManager(new SqlConnectionFactory(ConnectionString), "testtable", "testdata", "testproc", keyProperties, properties, schema: "bimse"); creator.DropSchema(true, true, true); creator.CreateSchema(true, true, true); }
/// <summary> /// Ensures that the necessary schema is created (i.e. table, custom data type, and stored procedure). /// Does NOT detect changes, just skips creation if it finds objects with the known names in the database. /// This means that you need to handle migrations yourself /// </summary> public void CreateSchema(bool createProcedure = true, bool createType = true, bool createTable = true) { _schemaManager.CreateSchema(createProcedure, createType, createTable); }