gpt4 book ai didi

java - HSQLDB:如何在测试后截断数据库?

转载 作者:行者123 更新时间:2023-11-28 20:54:28 25 4
gpt4 key购买 nike

我一直在尝试创建一个测试数据库并在测试后清除它,但它没有被删除。因此抛出异常 -对象名称已存在:语句中的用户...这是我在 BeforeClass 和 AfterClass 注释中的代码-

@BeforeClass
public static void initialize() throws Exception {
databaseTester = new JdbcDatabaseTester(org.hsqldb.jdbcDriver.class
.getName(), "jdbc:hsqldb:file:testdatabase", "sa", "");
createTables(databaseTester.getConnection().getConnection());

String inputXml = "<dataset>"

+"<user UID=\"9999\" NAME=\"XYZ\" PHONE=\"9999999999\" PASSWORD=\"qwerty\" SALT_KEY=\"0\" DEVICE_UUID=\"99999\" LID=\"1\" USER_TYPE=\"1\" OTP_STATUS=\"A\" STATUS=\"0\" POSTAL_ADDRESS=\"0\" CREATE_USER=\"0\" UPDATE_USER=\"0\" />"
+"<user UID=\"9998\" NAME=\"ABC\" PHONE=\"9999999998\" PASSWORD=\"qwerty\" SALT_KEY=\"0\" DEVICE_UUID=\"99998\" LID=\"1\" USER_TYPE=\"1\" OTP_STATUS=\"A\" STATUS=\"0\" POSTAL_ADDRESS=\"0\" CREATE_USER=\"0\" UPDATE_USER=\"0\" />"
+"<user_category UCID=\"9999\" UID=\"0\" DEVICE_UUID=\"77777\" CID=\"7\" CREATE_USER=\"0\" UPDATE_USER=\"0\" />"

+ "</dataset>";

IDataSet dataSet = new FlatXmlDataSetBuilder().build(new StringReader(inputXml));
databaseTester.setDataSet(dataSet);
databaseTester.setSetUpOperation(DatabaseOperation.CLEAN_INSERT);
databaseTester.setTearDownOperation(DatabaseOperation.DELETE_ALL);
databaseTester.onSetup();

}

@AfterClass
public static void cleanUp() throws Exception {
databaseTester.onTearDown();
databaseTester = null;
}

它不会被自动删除,而是我需要手动删除测试后创建的文本文件的内容。

最佳答案

运行语句:

DROP SCHEMA PUBLIC CASCADE

查看指南:

http://hsqldb.org/doc/2.0/guide/databaseobjects-chapt.html#dbc_schemas_schema_objects

关于java - HSQLDB:如何在测试后截断数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30977105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com