Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 /// <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);
 }