protected override string DbCreateDatabaseScript(string providerManifestToken, StoreItemCollection storeItemCollection)
        {
            if (providerManifestToken == null)
            {
                throw new ArgumentNullException("providerManifestToken must not be null");
            }

            if (storeItemCollection == null)
            {
                throw new ArgumentNullException("storeItemCollection must not be null");
            }

            return(DdlBuilder.CreateObjectsScript(storeItemCollection));
        }
        protected override bool DbDatabaseExists(DbConnection connection, int?commandTimeout, StoreItemCollection storeItemCollection)
        {
            if (storeItemCollection == null)
            {
                throw new ArgumentNullException("storeItemCollection must not be null");
            }

            var exists = false;

            UsingMasterConnection(connection, conn =>
            {
                var databaseName         = GetDatabaseName(conn);
                var storeVersion         = EFIngresStoreVersionUtils.GetStoreVersion(conn);
                var databaseExistsScript = DdlBuilder.CreateDatabaseExistsScript(databaseName);

                int result = (int)CreateCommand(conn, databaseExistsScript, commandTimeout).ExecuteScalar();
                exists     = (result == 1);
            });
            return(exists);
        }