· 6 years ago · Mar 26, 2019, 12:24 PM
1@Configuration
2public class TestConfiguration {
3 @Bean
4 @Primary
5 @Autowired
6 public DataSource dataSource(DataSource dataSource1) {
7 try {
8 PreparedStatement statement = dataSource1.getConnection().prepareStatement(
9 "create table if not exists database_settings\n" +
10 "(\n" +
11 " ID SERIAL PRIMARY KEY,\n" +
12 " TYPE VARCHAR(64) not null,\n" +
13 " HOST VARCHAR(256) not null,\n" +
14 " PORT VARCHAR(16) not null,\n" +
15 " NAME VARCHAR(1024) not null,\n" +
16 " LOGIN VARCHAR(256) not null,\n" +
17 " PASSWORD VARCHAR(256) not null,\n" +
18 " ADDITIONAL_FIELDS varchar(8192) not null,\n" +
19 " DATE TIMESTAMPTZ DEFAULT NOW() not null\n" +
20 ");\n" +
21 "\n" +
22 "create table if not exists storage_settings\n" +
23 "(\n" +
24 " ID SERIAL PRIMARY KEY,\n" +
25 " TYPE VARCHAR(64) not null,\n" +
26 " DATE TIMESTAMPTZ DEFAULT NOW() not null,\n" +
27 " ADDITIONAL_FIELDS varchar(8192) not null\n" +
28 ");\n" +
29 "\n" +
30 "create table if not exists backup_properties\n" +
31 "(\n" +
32 " ID SERIAL PRIMARY KEY,\n" +
33 " DATE TIMESTAMPTZ DEFAULT NOW() not null,\n" +
34 " BACKUP_NAME varchar(1024) not null,\n" +
35 " COMPRESSED boolean not null,\n" +
36 " STORAGE_SETTINGS_ID integer not null\n" +
37 ");");
38
39 statement.execute();
40 return dataSource1;
41 } catch (SQLException e) {
42 e.printStackTrace();
43 throw new RuntimeException("Error configuring database for storing tests data");
44 }
45 }