我试图从我的CI设置中删除并重新创建数据库。但是我发现很难自动化删除和创建数据库,鉴于正在使用的数据库的复杂性,这是可以预料的。有时,进程挂起,“当前正在使用db”的错误或花费的时间太长。我不在乎数据库是否正在使用,我想杀死它并再次创建它。有人有直接方法可以做到这一点吗?或者,有人有经验删除数据库中的所有对象而不是删除数据库本身吗?
USE master
--Create a database
IF EXISTS(SELECT name FROM sys.databases
WHERE name = 'mydb')
BEGIN
ALTER DATABASE mydb
SET SINGLE_USER --or RESTRICTED_USER
--WITH ROLLBACK IMMEDIATE
DROP DATABASE uAbraham_MapSifterAuthority
END
CREATE DATABASE mydb;
我们一直使用Hudson来为我们的质量检查小组重建临时站点。我们终止连接,删除数据库,然后还原/重建/迁移数据库。
这是我用来终止连接的工具,因此我可以删除数据库。
USE MASTER
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_KillDatabaseProcesses]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[sp_KillDatabaseProcesses]
GO
CREATE PROCEDURE dbo.sp_KillDatabaseProcesses(@databaseName varchar(100))
AS
DECLARE @databaseId int,
@sysProcessId int,
@cmd varchar(1000)
EXEC ('USE MASTER')
SELECT @databaseId = dbid FROM master..sysdatabases
WHERE [name] = @databaseName
DECLARE sysProcessIdCursor CURSOR FOR
SELECT spid FROM [master]..[sysprocesses] WHERE [dbid] = @databaseId
OPEN sysProcessIdCursor
FETCH NEXT FROM sysProcessIdCursor INTO @sysProcessId WHILE @@fetch_status = 0
BEGIN
SET @cmd = 'KILL '+ convert(nvarchar(30),@sysProcessId)
PRINT @cmd
EXEC(@cmd)
FETCH NEXT FROM sysProcessIdCursor INTO @sysProcessId
END
DEALLOCATE sysProcessIdCursor
GO
29.3.3 创建和删除JPA数据库 默认情况下,仅当您使用内置数据库(H2、HSQL或Derby)时才会自动创建JPA数据库。您可以使用spring.jpa.*属性显式地配置JPA。例如,要创建和删除表,您可以将以下内容添加到application.properties中。 spring.jpa.hibernate.ddl-auto=create-drop Hibernate本身用于自动创建和
translated_page: https://github.com/PX4/Devguide/blob/master/en/test_and_ci/continous_integration.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e PX4 Continuous Integration PX4 builds and
概述 此文章以以下环境为例,介绍毫末科技Weex的持续集成过程。为了简化公司员工的工作量,将一些环境配置的过程省略,只介绍新项目的配置过程。 GitLab 10.5.5 Jenkin 2.60.3 公司的Jenkins平台管理员:管鹏波。若要申请账号或者碰到问题,请联系管鹏波(guanpengbo@haomo-studio.com)! 配置过程 包括三步: 将jenkins的公钥添加为GitLab
translated_page: https://github.com/PX4/Devguide/blob/master/en/test_and_ci/jenkins_ci.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e Jenkins CI Jenkins continuous integration server on S
我们做的还不够好,先占个坑。 欢迎贡献章节。
注意有关编写测试的建议, 请参阅 Testing Your Code. Why? 与 Kent Beck 一起撰写关于 持续集成 (简称 : CI ) 的 Martin Fowler 对 CI 进行了如下的描述: 持续集成是一种软件开发实践,团队成员经常整合他们的工作,通常每个人至少每天集成一次 - 导致每天进行多次集成。 每个集成都通过自动构建(包括测试)进行验证,以尽快检测集成错误。 许多团队