Example #1
0
        /// <summary>
        /// Contains the logic to Provision the database.
        /// </summary>
        public override void Provision()
        {
            // Stop if the DB has already been provisioned
            if (this.Status == SPObjectStatus.Online)
            {
                return;
            }

            // Update the status to provisioning
            this.Status = SPObjectStatus.Provisioning;
            this.Update();

            // Run the provisioning scripts if we are not attaching to an existing database
            if (!this.Exists)
            {
                // Create any DB options
                //Dictionary<string, bool> options = new Dictionary<string, bool>();
                Dictionary <DatabaseOptions, bool> options = new Dictionary <DatabaseOptions, bool>();
                //options.Add(SPDatabase.SqlDatabaseOption[(int)DatabaseOptions.AutoClose], false);
                options.Add(DatabaseOptions.AutoClose, false);
                SPDatabase.Provision(
                    this.DatabaseConnectionString,
                    //SPUtility.GetGenericSetupPath(@"TEMPLATE\SQL\ClubCloud.Service\CreateDatabase.sql"),
                    SPUtility.GetVersionedGenericSetupPath(@"TEMPLATE\SQL\ClubCloud.Service\ClubCloud.sql", 15),
                    options);
            }

            this.Status = SPObjectStatus.Online;
            this.Update();
        }
Example #2
0
        public static List <AttributeValuePair> GetSPDatabaseAttributes(SPDatabase database)
        {
            List <AttributeValuePair> databaseAttributes = new List <AttributeValuePair>();

            try
            {
                databaseAttributes.Add(new AttributeValuePair("Name", database.Name));
                databaseAttributes.Add(new AttributeValuePair("Server", database.Server.Name));
                databaseAttributes.Add(new AttributeValuePair("DisplayName", database.Server.Name));
                databaseAttributes.Add(new AttributeValuePair("Id", database.Id.ToString()));
                databaseAttributes.Add(new AttributeValuePair("ConnectionString", database.DatabaseConnectionString));
                databaseAttributes.Add(new AttributeValuePair("DiskSizeRequired", (database.DiskSizeRequired / 1024 / 1024).ToString() + " MB"));
            }
            catch (Exception e)
            {
                databaseAttributes.Add(new AttributeValuePair("Exception", e.ToString()));
            }
            return(databaseAttributes);
        }
        /// <summary>
        /// Provision method override
        /// </summary>
        public override void Provision()
        {
            if (SPObjectStatus.Online == this.Status)
            {
                return;
            }
            this.Status = SPObjectStatus.Provisioning;
            this.Update();

            Dictionary <DatabaseOptions, bool> options = new Dictionary <DatabaseOptions, bool>(1);

            options.Add(DatabaseOptions.AutoClose, false);

            if (!this.Exists)
            {
                SPDatabase.Provision(ConnectString(), SPUtility.GetVersionedGenericSetupPath(@"Template\sql\SharePoint.IdentityService.sql", 15), options);
            }

            this.Status = SPObjectStatus.Online;
            this.Update();
        }