diff --git a/pom.xml b/pom.xml
index 3c656f7968402b60eae35187cb7bffab852e1a00..8c175ce9d957e871ec2a92a7d6e0377ecf7b3be4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,137 +1,177 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
+<project
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+	xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion>
 
-  <parent>
-    <artifactId>java-updated-versions</artifactId>
-    <groupId>fr.soleil.maven.parent</groupId>
-    <version>0-SNAPSHOT</version>
-  </parent>
+	<parent>
+		<artifactId>java-updated-versions</artifactId>
+		<groupId>fr.soleil.maven.parent</groupId>
+		<version>0-SNAPSHOT</version>
+	</parent>
 
-  <groupId>fr.soleil.lib</groupId>
-  <artifactId>snapArchivingApi</artifactId>
-  <version>1.8.6</version>
-  <name>snapArchivingApi</name>
-  <description>Snap Archiving API</description>
-  <developers>
-    <developer>
-      <id>abeille</id>
-      <name>Gwenaelle Abeille</name>
-      <email>gwenaelle.abeille@synchrotron-soleil.fr</email>
-      <organization>Synchrotron Soleil</organization>
-      <organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-      <timezone>1</timezone>
-    </developer>
-    <developer>
-      <id>girardot</id>
-      <name>Raphaël GIRARDOT</name>
-      <email>raphael.girardot@synchrotron-soleil.fr</email>
-      <organization>Synchrotron Soleil</organization>
-      <organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-      <timezone>1</timezone>
-    </developer>
-  </developers>
+	<groupId>fr.soleil.lib</groupId>
+	<artifactId>snapArchivingApi</artifactId>
+	<version>1.8.6</version>
+	<name>snapArchivingApi</name>
+	<description>Snap Archiving API</description>
+	<developers>
+		<developer>
+			<id>abeille</id>
+			<name>Gwenaelle Abeille</name>
+			<email>gwenaelle.abeille@synchrotron-soleil.fr</email>
+			<organization>Synchrotron Soleil</organization>
+			<organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+			<timezone>1</timezone>
+		</developer>
+		<developer>
+			<id>girardot</id>
+			<name>Raphaël GIRARDOT</name>
+			<email>raphael.girardot@synchrotron-soleil.fr</email>
+			<organization>Synchrotron Soleil</organization>
+			<organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+			<timezone>1</timezone>
+		</developer>
+	</developers>
 
-  <scm>
-    <connection>${scm.connection.svn.tango-cs}:archiving/api/snapArchivingApi/trunk</connection>
-    <developerConnection>${scm.developerConnection.svn.tango-cs}:archiving/api/snapArchivingApi/trunk</developerConnection>
-    <url>${scm.url.svn.tango-cs}/archiving/api/snapArchivingApi/trunk</url>
-  </scm>
+	<scm>
+		<connection>${scm.connection.svn.tango-cs}:archiving/api/snapArchivingApi/trunk</connection>
+		<developerConnection>${scm.developerConnection.svn.tango-cs}:archiving/api/snapArchivingApi/trunk</developerConnection>
+		<url>${scm.url.svn.tango-cs}/archiving/api/snapArchivingApi/trunk</url>
+	</scm>
 
-  <dependencies>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api </artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>log4j-over-slf4j</artifactId>
-      <version>1.7.6</version>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>jcl-over-slf4j</artifactId>
-      <version>1.7.6</version>
-    </dependency>
-    <dependency>
-      <groupId>org.tango-controls</groupId>
-      <artifactId>JTangoCommons</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-dbcp</groupId>
-      <artifactId>commons-dbcp</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>fr.soleil.lib</groupId>
-      <artifactId>commonArchivingApi</artifactId>
-    </dependency>
-    <dependency>
-	    <groupId>org.springframework</groupId>
-	    <artifactId>spring-core</artifactId>
-	</dependency>
-    <dependency>
-	    <groupId>org.springframework</groupId>
-	    <artifactId>spring-beans</artifactId>
-	</dependency>
-    <dependency>
-	    <groupId>org.springframework</groupId>
-	    <artifactId>spring-orm</artifactId>
-	</dependency>
-	 <dependency>
-	    <groupId>org.springframework</groupId>
-	    <artifactId>spring-context</artifactId>
-	</dependency>
-	<dependency>
-	    <groupId>org.springframework</groupId>
-	    <artifactId>spring-test</artifactId>
-	    <scope>test</scope>
-	</dependency>
-    <dependency>
-      <groupId>org.hibernate</groupId>
-      <artifactId>hibernate-core</artifactId>
-    </dependency>
-    <dependency>
-         <groupId>org.hibernate</groupId>
-         <artifactId>hibernate-entitymanager</artifactId>
-         <version>5.4.2.Final</version>
-     </dependency>
-     <!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 -->
-     <dependency>
-         <groupId>org.hibernate</groupId>
-         <artifactId>hibernate-c3p0</artifactId>
-         <version>5.4.2.Final</version>
-     </dependency>
-    <dependency>
-      <groupId>aspectj</groupId>
-      <artifactId>aspectjweaver</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>javassist</groupId>
-      <artifactId>javassist</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.log4jdbc</groupId>
-      <artifactId>log4jdbc</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>mysql</groupId>
-      <artifactId>mysql-connector-java</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
+	<dependencies>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api </artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>log4j-over-slf4j</artifactId>
+			<version>1.7.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>jcl-over-slf4j</artifactId>
+			<version>1.7.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.tango-controls</groupId>
+			<artifactId>JTangoCommons</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>commons-dbcp</groupId>
+			<artifactId>commons-dbcp</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>commons-pool</groupId>
+			<artifactId>commons-pool</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>fr.soleil.lib</groupId>
+			<artifactId>commonArchivingApi</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-beans</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-orm</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-context</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-entitymanager</artifactId>
+			<version>5.4.2.Final</version>
+		</dependency>
+		<!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 -->
+		<dependency>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-c3p0</artifactId>
+			<version>5.4.2.Final</version>
+		</dependency>
+		<dependency>
+			<groupId>aspectj</groupId>
+			<artifactId>aspectjweaver</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>javassist</groupId>
+			<artifactId>javassist</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>com.googlecode.log4jdbc</groupId>
+			<artifactId>log4jdbc</artifactId>
+		</dependency>		
+		<!--  Test  -->
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+		    <groupId>org.liquibase</groupId>
+		    <artifactId>liquibase-core</artifactId>
+		    <version>3.4.2</version>
+		</dependency>
+		<dependency>
+		    <groupId>com.h2database</groupId>
+		    <artifactId>h2</artifactId>
+		    <version>1.4.200</version>
+		    <scope>test</scope>
+		</dependency>
+		<dependency>
+		  <groupId>org.testcontainers</groupId>
+		  <artifactId>oracle-xe</artifactId>
+		  <version>1.15.1</version>
+		  <scope>test</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.liquibase</groupId>
+					<artifactId>liquibase-maven-plugin</artifactId>
+					<version>3.5.3</version>
+					<configuration>
+						<changeLogFile>src/main/resources/liquibase/master.xml</changeLogFile>
+						<diffChangeLogFile>src/main/resources/liquibase/changelog/20190411-103909_changelog.xml</diffChangeLogFile>
+						<driver>org.h2.Driver</driver>
+						<url>jdbc:h2:mem:SNAP;DB_CLOSE_DELAY=-1;INIT=CREATE	SCHEMA IF NOT EXISTS SNAP\;SET SCHEMA SNAP;</url>
+						<defaultSchemaName>SNAP</defaultSchemaName>
+						<contexts>test</contexts>
+						<username>snap</username>
+						<password>snap</password>
+						<outputChangeLogFile>myGenChangeLog.xml</outputChangeLogFile>
+						<logging>debug</logging>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+	</build>
 </project>
diff --git a/src/main/java/fr/soleil/archiving/snap/api/model/Ast.java b/src/main/java/fr/soleil/archiving/snap/api/model/Ast.java
new file mode 100644
index 0000000000000000000000000000000000000000..31a10900a2d2eb580e72363d400f4b4169317da8
--- /dev/null
+++ b/src/main/java/fr/soleil/archiving/snap/api/model/Ast.java
@@ -0,0 +1,236 @@
+package fr.soleil.archiving.snap.api.model;
+// Generated 8 janv. 2021 � 16:24:38 by Hibernate Tools 4.3.5.Final
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+/**
+ * Ast generated by hbm2java
+ */
+@Entity
+@Table(name = "AST")
+public class Ast implements java.io.Serializable {
+
+	private int id;
+	private Date time;
+	private String fullName;
+	private String device;
+	private String domain;
+	private String family;
+	private String member;
+	private String attName;
+	private BigDecimal dataType;
+	private BigDecimal dataFormat;
+	private BigDecimal writable;
+	private BigDecimal maxDimX;
+	private BigDecimal maxDimY;
+	private BigDecimal levelg;
+	private String facility;
+	private BigDecimal archivable;
+	private BigDecimal substitute;
+
+
+	public Ast() {
+	}
+
+	public Ast(int id, String fullName, String device, String domain, String family, String member, String attName,
+			BigDecimal dataType, BigDecimal dataFormat, BigDecimal writable, String facility) {
+		this.id = id;
+		this.fullName = fullName;
+		this.device = device;
+		this.domain = domain;
+		this.family = family;
+		this.member = member;
+		this.attName = attName;
+		this.dataType = dataType;
+		this.dataFormat = dataFormat;
+		this.writable = writable;
+		this.facility = facility;
+	}
+
+	public Ast(int id, Date time, String fullName, String device, String domain, String family, String member,
+			String attName, BigDecimal dataType, BigDecimal dataFormat, BigDecimal writable, BigDecimal maxDimX,
+			BigDecimal maxDimY, BigDecimal levelg, String facility, BigDecimal archivable, BigDecimal substitute) {
+		this.id = id;
+		this.time = time;
+		this.fullName = fullName;
+		this.device = device;
+		this.domain = domain;
+		this.family = family;
+		this.member = member;
+		this.attName = attName;
+		this.dataType = dataType;
+		this.dataFormat = dataFormat;
+		this.writable = writable;
+		this.maxDimX = maxDimX;
+		this.maxDimY = maxDimY;
+		this.levelg = levelg;
+		this.facility = facility;
+		this.archivable = archivable;
+		this.substitute = substitute;
+	}
+
+	@Id
+
+	@Column(name = "ID", nullable = false, precision = 5, scale = 0)
+	public int getId() {
+		return this.id;
+	}
+
+	public void setId(int id) {
+		this.id = id;
+	}
+
+	@Temporal(TemporalType.DATE)
+	@Column(name = "TIME", length = 7)
+	public Date getTime() {
+		return this.time;
+	}
+
+	public void setTime(Date time) {
+		this.time = time;
+	}
+
+	@Column(name = "FULL_NAME", nullable = false, length = 500)
+	public String getFullName() {
+		return this.fullName;
+	}
+
+	public void setFullName(String fullName) {
+		this.fullName = fullName;
+	}
+
+	@Column(name = "DEVICE", nullable = false, length = 500)
+	public String getDevice() {
+		return this.device;
+	}
+
+	public void setDevice(String device) {
+		this.device = device;
+	}
+
+	@Column(name = "DOMAIN", nullable = false, length = 500)
+	public String getDomain() {
+		return this.domain;
+	}
+
+	public void setDomain(String domain) {
+		this.domain = domain;
+	}
+
+	@Column(name = "FAMILY", nullable = false, length = 500)
+	public String getFamily() {
+		return this.family;
+	}
+
+	public void setFamily(String family) {
+		this.family = family;
+	}
+
+	@Column(name = "MEMBER", nullable = false, length = 500)
+	public String getMember() {
+		return this.member;
+	}
+
+	public void setMember(String member) {
+		this.member = member;
+	}
+
+	@Column(name = "ATT_NAME", nullable = false, length = 500)
+	public String getAttName() {
+		return this.attName;
+	}
+
+	public void setAttName(String attName) {
+		this.attName = attName;
+	}
+
+	@Column(name = "DATA_TYPE", nullable = false, precision = 22, scale = 0)
+	public BigDecimal getDataType() {
+		return this.dataType;
+	}
+
+	public void setDataType(BigDecimal dataType) {
+		this.dataType = dataType;
+	}
+
+	@Column(name = "DATA_FORMAT", nullable = false, precision = 22, scale = 0)
+	public BigDecimal getDataFormat() {
+		return this.dataFormat;
+	}
+
+	public void setDataFormat(BigDecimal dataFormat) {
+		this.dataFormat = dataFormat;
+	}
+
+	@Column(name = "WRITABLE", nullable = false, precision = 22, scale = 0)
+	public BigDecimal getWritable() {
+		return this.writable;
+	}
+
+	public void setWritable(BigDecimal writable) {
+		this.writable = writable;
+	}
+
+	@Column(name = "MAX_DIM_X", precision = 22, scale = 0)
+	public BigDecimal getMaxDimX() {
+		return this.maxDimX;
+	}
+
+	public void setMaxDimX(BigDecimal maxDimX) {
+		this.maxDimX = maxDimX;
+	}
+
+	@Column(name = "MAX_DIM_Y", precision = 22, scale = 0)
+	public BigDecimal getMaxDimY() {
+		return this.maxDimY;
+	}
+
+	public void setMaxDimY(BigDecimal maxDimY) {
+		this.maxDimY = maxDimY;
+	}
+
+	@Column(name = "LEVELG", precision = 22, scale = 0)
+	public BigDecimal getLevelg() {
+		return this.levelg;
+	}
+
+	public void setLevelg(BigDecimal levelg) {
+		this.levelg = levelg;
+	}
+
+	@Column(name = "FACILITY", nullable = false, length = 100)
+	public String getFacility() {
+		return this.facility;
+	}
+
+	public void setFacility(String facility) {
+		this.facility = facility;
+	}
+
+	@Column(name = "ARCHIVABLE", precision = 22, scale = 0)
+	public BigDecimal getArchivable() {
+		return this.archivable;
+	}
+
+	public void setArchivable(BigDecimal archivable) {
+		this.archivable = archivable;
+	}
+
+	@Column(name = "SUBSTITUTE", precision = 22, scale = 0)
+	public BigDecimal getSubstitute() {
+		return this.substitute;
+	}
+
+	public void setSubstitute(BigDecimal substitute) {
+		this.substitute = substitute;
+	}
+
+}
diff --git a/src/main/java/fr/soleil/archiving/snap/api/model/Context.java b/src/main/java/fr/soleil/archiving/snap/api/model/Context.java
new file mode 100644
index 0000000000000000000000000000000000000000..49f01db2f800a3ed9e58b644219a85f9d30d5a5e
--- /dev/null
+++ b/src/main/java/fr/soleil/archiving/snap/api/model/Context.java
@@ -0,0 +1,99 @@
+package fr.soleil.archiving.snap.api.model;
+// Generated 8 janv. 2021 � 16:24:38 by Hibernate Tools 4.3.5.Final
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+/**
+ * Context generated by hbm2java
+ */
+@Entity
+@Table(name = "CONTEXT")
+public class Context implements java.io.Serializable {
+
+	private int idContext;
+	private Date time;
+	private String name;
+	private String author;
+	private String reason;
+	private String description;
+
+	public Context() {
+	}
+
+	public Context(int idContext) {
+		this.idContext = idContext;
+	}
+
+	public Context(int idContext, Date time, String name, String author, String reason, String description) {
+		this.idContext = idContext;
+		this.time = time;
+		this.name = name;
+		this.author = author;
+		this.reason = reason;
+		this.description = description;
+	}
+
+	@Id
+
+	@Column(name = "ID_CONTEXT", nullable = false, precision = 5, scale = 0)
+	public int getIdContext() {
+		return this.idContext;
+	}
+
+	public void setIdContext(int idContext) {
+		this.idContext = idContext;
+	}
+
+	@Temporal(TemporalType.DATE)
+	@Column(name = "TIME", length = 7)
+	public Date getTime() {
+		return this.time;
+	}
+
+	public void setTime(Date time) {
+		this.time = time;
+	}
+
+	@Column(name = "NAME", length = 256)
+	public String getName() {
+		return this.name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	@Column(name = "AUTHOR", length = 64)
+	public String getAuthor() {
+		return this.author;
+	}
+
+	public void setAuthor(String author) {
+		this.author = author;
+	}
+
+	@Column(name = "REASON", length = 640)
+	public String getReason() {
+		return this.reason;
+	}
+
+	public void setReason(String reason) {
+		this.reason = reason;
+	}
+
+	@Column(name = "DESCRIPTION", length = 1256)
+	public String getDescription() {
+		return this.description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+}
diff --git a/src/main/java/fr/soleil/archiving/snap/api/model/Snapshot.java b/src/main/java/fr/soleil/archiving/snap/api/model/Snapshot.java
index 9c6bc1ef3d5d01a48de8aab33b005cc3a339fb2c..aa6d0c25b790275b668851caad8d556f0bdf98e8 100644
--- a/src/main/java/fr/soleil/archiving/snap/api/model/Snapshot.java
+++ b/src/main/java/fr/soleil/archiving/snap/api/model/Snapshot.java
@@ -8,7 +8,7 @@ import javax.persistence.Id;
 import javax.persistence.Table;
 
 @Entity
-@Table(name = "SNAPSHOT", schema = "SNAP")
+@Table(name = "SNAPSHOT")
 public class Snapshot implements Serializable {
 	/**
 	 * 
diff --git a/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/AbstractValDAOTest.java b/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/AbstractValDAOTest.java
index eff392b01e1b1705b79ddcf130facf60182c53dd..af492d112a5d7388d8b5097eef2b6c785ac8ada7 100644
--- a/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/AbstractValDAOTest.java
+++ b/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/AbstractValDAOTest.java
@@ -5,6 +5,7 @@ import static org.junit.Assert.assertNotNull;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.transaction.annotation.Transactional;
@@ -13,10 +14,12 @@ import fr.soleil.archiving.snap.api.persistence.spring.dao.ValDAO;
 import fr.soleil.archiving.snap.api.persistence.spring.dto.Val;
 
 @Rollback(true)
+@ActiveProfiles({ "test" })
 @ContextConfiguration({ "classpath:beans.xml" })
 @Transactional
 @RunWith(SpringJUnit4ClassRunner.class)
 public abstract class AbstractValDAOTest<V extends Val> {
+
     protected void compare(V original, V copy) {
 		assertNotNull(copy);
     }
diff --git a/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/ScNum1ValDAOTest.java b/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/ScNum1ValDAOTest.java
index f7c383e572ff2fdd1efaafe10dede7496a4762fd..cddbf2b8131f002a37fe80ed60c5f5e37bcea609 100644
--- a/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/ScNum1ValDAOTest.java
+++ b/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/ScNum1ValDAOTest.java
@@ -2,6 +2,7 @@ package fr.soleil.archiving.snap.api.persistence.spring.dao.test;
 
 import static org.junit.Assert.assertEquals;
 
+import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 
@@ -49,4 +50,15 @@ public class ScNum1ValDAOTest extends AbstractValDAOTest<ScNum1Val> {
 	protected ValDAO<ScNum1Val> getDao() {
 		return dao;
 	}
+
+	@Test
+	public void testFetchFromBdd() {
+		CompositeId compositeId = new CompositeId();
+		int idAtt = 245;
+		int idSnap = 235;
+		compositeId.setIdAtt(idAtt);
+		compositeId.setIdSnap(idSnap);
+		ScNum1Val val = getDao().findByKey(compositeId);
+		assertEquals(val.getValue(), 23.0, 0);
+	}
 }
diff --git a/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/SnapshotDAOTest.java b/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/SnapshotDAOTest.java
index ec694a6cfd898540e061a797feadc0d38c7a0e25..8a3bc56570385d5ab5f0e813d267ea3252052614 100644
--- a/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/SnapshotDAOTest.java
+++ b/src/test/java/fr/soleil/archiving/snap/api/persistence/spring/dao/test/SnapshotDAOTest.java
@@ -8,6 +8,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.transaction.annotation.Transactional;
@@ -16,6 +17,7 @@ import fr.soleil.archiving.snap.api.model.Snapshot;
 import fr.soleil.archiving.snap.api.persistence.spring.dao.SnapshotDAO;
 
 @Rollback(true)
+@ActiveProfiles({ "test" })
 @ContextConfiguration({ "classpath:beans.xml" })
 @Transactional
 @RunWith(SpringJUnit4ClassRunner.class)
diff --git a/src/test/resources/beans-exemple.xml b/src/test/resources/beans-exemple.xml
new file mode 100644
index 0000000000000000000000000000000000000000..41180c882e5e97fc7967e234274e3bbebad6c0e5
--- /dev/null
+++ b/src/test/resources/beans-exemple.xml
@@ -0,0 +1,77 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:aop="http://www.springframework.org/schema/aop"
+       xmlns:tx="http://www.springframework.org/schema/tx"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
+       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
+       http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd">
+	<context:component-scan base-package="fr.soleil.archiving.snap.api"/>
+	<!-- DATASOURCE DEFINITION VVVVVVV-->
+	<bean id="dataSource"
+        class="org.apache.commons.dbcp.BasicDataSource"
+        destroy-method="close"> 
+			<property name="initialSize" value="8"/>
+		    <property name="maxActive" value="4"/>
+		    <property name="maxIdle" value="8"/>
+
+		    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
+		    <property name="url" value="jdbc:oracle:thin:@195.221.4.203:1521:TEST11SE" />
+		    <property name="username" value="snap" />
+		    <property name="password" value="snap" />
+	</bean>
+  	<!-- DATASOURCE DEFINITION ^^^^^^-->
+	
+	<!-- HIBERNATE DEFINITION VVVVVVV-->
+    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
+		<property name="dataSource" ref="dataSource"/>
+	
+		<property name="mappingResources">
+		  <list>
+			<value>valueTables.hbm.xml</value>
+		  </list>
+		</property>
+		<property name="packagesToScan" value="fr.soleil.archiving.snap.api.model" />   
+
+    	<property name="hibernateProperties">
+		  <value>
+			hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
+			hibernate.default_schema=SNAP
+			hibernate.show_sql=true
+			hibernate.format_sql=true
+			hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
+			hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
+			hibernate.connection.autocommit=false
+			hibernate.connection.release_mode=after_transaction
+			hibernate.generate_statistics=true
+		  </value>
+		</property>
+    </bean>
+    <!-- HIBERNATE DEFINITION ^^^^^^-->
+  
+    <!-- TRANSACTIONS DEFINITIONS VVVVVVV-->
+		<!-- MANAGER -->
+		<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
+			<property name="sessionFactory" ref="sessionFactory"/>
+		</bean>
+		
+		<tx:annotation-driven transaction-manager="transactionManager"/>
+	
+		<!-- DEFINES AN "ADVICE" IE. A WAY TO USE THE TRANSACTION MANAGER AROUND METHODS -->
+		<tx:advice id="txAdvice" transaction-manager="transactionManager"><!-- the transactional advice (i.e. what 'happens'; see the <aop:advisor/> bean below) -->	  
+			<tx:attributes><!-- the transactional semantics... -->
+				<tx:method name="findBy*" read-only="true"/><!-- all methods starting with 'get' are read-only -->
+				<tx:method name="*"/><!-- other methods use the default transaction settings -->
+			</tx:attributes>
+		</tx:advice>
+	
+    	<!-- DEFINES WHERE "ADVICES" WILL BE USED-->
+		<aop:config><!-- ensure that the above transactional advice runs for any execution of an operation defined by the FooService interface -->
+			<aop:pointcut id="valDAOOperation" expression="execution(* fr.soleil.archiving.snap.api.persistence.spring.dao.ValDAO.*(..))"/>
+			<aop:advisor advice-ref="txAdvice" pointcut-ref="valDAOOperation"/>
+		</aop:config>
+    <!-- TRANSACTIONS DEFINITIONS ^^^^^^-->
+
+	
+</beans>
\ No newline at end of file
diff --git a/src/test/resources/beans.xml b/src/test/resources/beans.xml
index 41180c882e5e97fc7967e234274e3bbebad6c0e5..41fa94b85e3ee0ffcf124d3499abe3c066327761 100644
--- a/src/test/resources/beans.xml
+++ b/src/test/resources/beans.xml
@@ -16,12 +16,21 @@
 		    <property name="maxActive" value="4"/>
 		    <property name="maxIdle" value="8"/>
 
-		    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
-		    <property name="url" value="jdbc:oracle:thin:@195.221.4.203:1521:TEST11SE" />
+		    <property name="driverClassName" value="org.h2.Driver" />
+		    <property name="url" value="jdbc:h2:mem:SNAP;DB_CLOSE_DELAY=-1;INIT=CREATE
+							SCHEMA IF NOT EXISTS SNAP\;SET SCHEMA SNAP;" />
 		    <property name="username" value="snap" />
 		    <property name="password" value="snap" />
 	</bean>
   	<!-- DATASOURCE DEFINITION ^^^^^^-->
+  	<bean  id="liquibase"  class="liquibase.integration.spring.SpringLiquibase">  
+      <property  name="dataSource"  ref="dataSource"  />  
+      <property  name="changeLog"  value="classpath:liquibase/master.xml"  />  
+      <!--
+      contexts specifies the runtime contexts to use.
+      -->  
+      <property  name="contexts"  value="test"  />  
+ 	</bean>
 	
 	<!-- HIBERNATE DEFINITION VVVVVVV-->
     <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
@@ -36,8 +45,8 @@
 
     	<property name="hibernateProperties">
 		  <value>
-			hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
-			hibernate.default_schema=SNAP
+			hibernate.dialect=org.hibernate.dialect.H2Dialect
+			hibernate.default_schema=PUBLIC
 			hibernate.show_sql=true
 			hibernate.format_sql=true
 			hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
diff --git a/src/test/resources/liquibase/data/ast.csv b/src/test/resources/liquibase/data/ast.csv
new file mode 100644
index 0000000000000000000000000000000000000000..38b6d41a60e4ee60d1cbb7628e1bd7ea48b65a26
--- /dev/null
+++ b/src/test/resources/liquibase/data/ast.csv
@@ -0,0 +1,2 @@
+ID,TIME,FULL_NAME,DEVICE,DOMAIN,FAMILY,MEMBER,ATT_NAME,DATA_TYPE,DATA_FORMAT,WRITABLE,MAX_DIM_X,MAX_DIM_Y,LEVELG,FACILITY,ARCHIVABLE,SUBSTITUTE
+245,2020-03-11,tango/tangotest/1/short_scalar_ro,tango/tangotest/1,tango,tangotest,1,short_scalar_ro,2,0,0,1,0,0,HOST:port,0,0
diff --git a/src/test/resources/liquibase/data/context.csv b/src/test/resources/liquibase/data/context.csv
new file mode 100644
index 0000000000000000000000000000000000000000..b8597b1e182ae15974b8b344abdf92ae82d2dff7
--- /dev/null
+++ b/src/test/resources/liquibase/data/context.csv
@@ -0,0 +1,7 @@
+ID_CONTEXT,TIME,NAME,AUTHOR,REASON,DESCRIPTION
+76,2020-03-11,test scalars,girardot,test scalar attributes,contains tangotest scalar attributes
+77,2020-04-08,test all scalars,girardot,test all kinds of scalar attributes,contains tangotest scalar attributes
+78,2020-04-14,Test add/remove attributes,girardot,TANGOARCH-629,"Add all tangotest1 attributes, remove some of them, register and see what's left"
+80,2020-08-06,test scalars2,girardot,test scalar attributes,contains tangotest scalar attributes
+79,2020-04-20,test2,spjz,essai2,essai bug2
+75,2020-02-05,test4,piketty,test too,test
diff --git a/src/test/resources/liquibase/data/snapshot.csv b/src/test/resources/liquibase/data/snapshot.csv
new file mode 100644
index 0000000000000000000000000000000000000000..d429e5dc3764a6561383d38948c73e74c0f33ed3
--- /dev/null
+++ b/src/test/resources/liquibase/data/snapshot.csv
@@ -0,0 +1,32 @@
+ID_SNAP,ID_CONTEXT,TIME,SNAP_COMMENT
+209,76,2020-03-11 10:17:11,
+214,76,2020-04-06 12:15:12,
+217,76,2020-04-06 13:46:25.239,
+219,76,2020-04-08 14:53:12.589,
+220,76,2020-04-08 15:06:59.309,
+221,76,2020-04-08 15:14:02.01,
+224,76,2020-04-08 15:23:26.247,
+226,76,2020-04-08 15:32:04.588,
+233,76,2020-04-08 16:03:09.622,
+236,77,2020-04-08 17:20:12.293,
+216,76,2020-04-06 12:20:12.325,
+231,76,2020-04-08 15:53:45.697,
+207,75,2020-03-11 09:17:17.474,
+210,76,2020-04-06 10:43:37.439,
+230,76,2020-04-08 15:45:50.28,
+234,76,2020-04-08 16:24:42.768,
+208,76,2020-03-11 09:56:09.147,
+211,76,2020-04-06 10:57:27.392,
+215,76,2020-04-06 12:19:55.687,
+223,76,2020-04-08 15:17:07.947,
+225,76,2020-04-08 15:30:20.314,
+228,76,2020-04-08 15:39:16.911,
+229,76,2020-04-08 15:39:18.216,
+232,76,2020-04-08 15:58:51.635,
+237,75,2020-04-20 12:08:23.727,
+212,76,2020-04-06 11:54:49.818,
+213,76,2020-04-06 11:58:59.342,
+218,76,2020-04-07 16:22:33.81,
+222,76,2020-04-08 15:15:28.57,
+227,76,2020-04-08 15:33:28.613,
+235,76,2020-04-08 17:15:38.751,
diff --git a/src/test/resources/liquibase/data/tScNum1Val.csv b/src/test/resources/liquibase/data/tScNum1Val.csv
new file mode 100644
index 0000000000000000000000000000000000000000..c9dfa779085bc436e671d7db525eba6776d66952
--- /dev/null
+++ b/src/test/resources/liquibase/data/tScNum1Val.csv
@@ -0,0 +1,2 @@
+ID_SNAP,ID_ATT,VALUE
+235,245,23.0
diff --git a/src/test/resources/liquibase/data/test-data.xml b/src/test/resources/liquibase/data/test-data.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c7442fd9fd4763b57206bd46716f958ad905ca5a
--- /dev/null
+++ b/src/test/resources/liquibase/data/test-data.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<databaseChangeLog
+    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
+    <changeSet author="jhaderer" id="000-testdata-1" context="test">
+    	<loadUpdateData
+    		tableName="context"
+    		primaryKey="ID_CONTEXT"
+    		encoding="UTF-8"
+    		relativeToChangelogFile="true"
+    		file="context.csv">
+    	</loadUpdateData>
+    </changeSet>
+    <changeSet author="jhaderer" id="000-testdata-2" context="test">
+    	<loadUpdateData
+    		tableName="snapshot"
+    		primaryKey="ID_SNAP"
+    		encoding="UTF-8"
+    		relativeToChangelogFile="true"
+    		file="snapshot.csv">
+    	</loadUpdateData>
+    </changeSet>
+    <changeSet author="jhaderer" id="000-testdata-3" context="test">
+    	<loadUpdateData
+    		tableName="AST"
+    		primaryKey="ID"
+    		encoding="UTF-8"
+    		relativeToChangelogFile="true"
+    		file="ast.csv">
+    	</loadUpdateData>
+    </changeSet>
+    <changeSet author="jhaderer" id="000-testdata-4" context="test">
+    	<loadUpdateData
+    		tableName="T_SC_NUM_1VAL"
+    		primaryKey="ID_SNAP,ID_ATT"
+    		encoding="UTF-8"
+    		relativeToChangelogFile="true"
+    		file="tScNum1Val.csv">
+    	</loadUpdateData>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/src/test/resources/liquibase/initDB.xml b/src/test/resources/liquibase/initDB.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ca7bde39a4d314d427f59662763b63888ae45c2c
--- /dev/null
+++ b/src/test/resources/liquibase/initDB.xml
@@ -0,0 +1,226 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog
+    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
+  
+    <changeSet author="jelmoni (generated)" id="1610354256692-4">
+        <createTable tableName="AST">
+            <column name="ID" type="NUMBER(5, 0)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="TIME" type="date"/>
+            <column name="FULL_NAME" type="VARCHAR2(500 BYTE)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="DEVICE" type="VARCHAR2(500 BYTE)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="DOMAIN" type="VARCHAR2(500 BYTE)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="FAMILY" type="VARCHAR2(500 BYTE)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="MEMBER" type="VARCHAR2(500 BYTE)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="ATT_NAME" type="VARCHAR2(500 BYTE)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="DATA_TYPE" type="NUMBER">
+                <constraints nullable="false"/>
+            </column>
+            <column name="DATA_FORMAT" type="NUMBER">
+                <constraints nullable="false"/>
+            </column>
+            <column name="WRITABLE" type="NUMBER">
+                <constraints nullable="false"/>
+            </column>
+            <column name="MAX_DIM_X" type="NUMBER"/>
+            <column name="MAX_DIM_Y" type="NUMBER"/>
+            <column name="LEVELG" type="NUMBER"/>
+            <column name="FACILITY" type="VARCHAR2(100 BYTE)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="ARCHIVABLE" type="NUMBER"/>
+            <column name="SUBSTITUTE" type="NUMBER"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-5">
+        <createTable tableName="CONTEXT">
+            <column name="ID_CONTEXT" type="NUMBER(5, 0)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="TIME" type="date"/>
+            <column name="NAME" type="VARCHAR2(256 BYTE)"/>
+            <column name="AUTHOR" type="VARCHAR2(64 BYTE)"/>
+            <column name="REASON" type="VARCHAR2(640 BYTE)"/>
+            <column name="DESCRIPTION" type="VARCHAR2(1256 BYTE)"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-6">
+        <createTable tableName="LIST">
+            <column name="ID_CONTEXT" type="NUMBER(5, 0)"/>
+            <column name="ID_ATT" type="NUMBER(5, 0)"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-7">
+        <createTable tableName="SNAPSHOT">
+            <column name="ID_SNAP" type="NUMBER(5, 0)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="ID_CONTEXT" type="NUMBER(5, 0)"/>
+            <column name="TIME" type="TIMESTAMP(3)"/>
+            <column name="SNAP_COMMENT" type="VARCHAR2(2500 BYTE)"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-8">
+        <createTable tableName="T_SC_NUM_1VAL">
+            <column name="ID_SNAP" type="NUMBER"/>
+            <column name="ID_ATT" type="NUMBER"/>
+            <column name="VALUE" type="NUMBER"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-9">
+        <createTable tableName="T_SC_NUM_2VAL">
+            <column name="ID_SNAP" type="NUMBER"/>
+            <column name="ID_ATT" type="NUMBER"/>
+            <column name="READ_VALUE" type="NUMBER"/>
+            <column name="WRITE_VALUE" type="NUMBER"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-10">
+        <createTable tableName="T_SC_STR_1VAL">
+            <column name="ID_SNAP" type="NUMBER"/>
+            <column name="ID_ATT" type="NUMBER"/>
+            <column name="VALUE" type="VARCHAR2(2500 BYTE)"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-11">
+        <createTable tableName="T_SC_STR_2VAL">
+            <column name="ID_SNAP" type="NUMBER"/>
+            <column name="ID_ATT" type="NUMBER"/>
+            <column name="READ_VALUE" type="VARCHAR2(2500 BYTE)"/>
+            <column name="WRITE_VALUE" type="VARCHAR2(2500 BYTE)"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-12">
+        <createTable tableName="T_SP_1VAL">
+            <column name="ID_SNAP" type="NUMBER"/>
+            <column name="ID_ATT" type="NUMBER"/>
+            <column name="DIM_X" type="NUMBER"/>
+            <column name="VALUE" type="CLOB"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-13">
+        <createTable tableName="T_SP_2VAL">
+            <column name="ID_SNAP" type="NUMBER"/>
+            <column name="ID_ATT" type="NUMBER"/>
+            <column name="DIM_X" type="NUMBER"/>
+            <column name="READ_VALUE" type="CLOB"/>
+            <column name="WRITE_VALUE" type="CLOB"/>
+        </createTable>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-14">
+        <createIndex indexName="IND_IDAST" tableName="AST">
+            <column name="ID"/>
+        </createIndex>
+        <addPrimaryKey columnNames="ID" constraintName="PK_AST"  tableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-15">
+        <createIndex indexName="IND_IDCONTEXT" tableName="CONTEXT">
+            <column name="ID_CONTEXT"/>
+        </createIndex>
+        <addPrimaryKey columnNames="ID_CONTEXT" constraintName="PK_CONTEXT"  tableName="CONTEXT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-16">
+        <createIndex indexName="IND_IDSNAPSHOT" tableName="SNAPSHOT">
+            <column name="ID_SNAP"/>
+        </createIndex>
+        <addPrimaryKey columnNames="ID_SNAP" constraintName="PK_SNAPSHOT"  tableName="SNAPSHOT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-17">
+        <createIndex indexName="IND_IDLIST" tableName="LIST">
+            <column name="ID_CONTEXT"/>
+        </createIndex>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-18">
+        <createIndex indexName="IND_SC_NUM_1VAL" tableName="T_SC_NUM_1VAL">
+            <column name="ID_SNAP"/>
+            <column name="ID_ATT"/>
+        </createIndex>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-19">
+        <createIndex indexName="IND_SC_NUM_2VAL" tableName="T_SC_NUM_2VAL">
+            <column name="ID_SNAP"/>
+            <column name="ID_ATT"/>
+        </createIndex>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-20">
+        <createIndex indexName="IND_SC_STR_1VAL" tableName="T_SC_STR_1VAL">
+            <column name="ID_SNAP"/>
+            <column name="ID_ATT"/>
+        </createIndex>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-21">
+        <createIndex indexName="IND_SC_STR_2VAL" tableName="T_SC_STR_2VAL">
+            <column name="ID_SNAP"/>
+            <column name="ID_ATT"/>
+        </createIndex>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-22">
+        <createIndex indexName="IND_SP_1VAL" tableName="T_SP_1VAL">
+            <column name="ID_SNAP"/>
+            <column name="ID_ATT"/>
+        </createIndex>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-23">
+        <createIndex indexName="IND_SP_2VAL" tableName="T_SP_2VAL">
+            <column name="ID_SNAP"/>
+            <column name="ID_ATT"/>
+        </createIndex>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-24">
+        <addForeignKeyConstraint baseColumnNames="ID_ATT" baseTableName="T_SC_NUM_1VAL" constraintName="FKSNAP_SC_NUM_1VAL_ATTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID" referencedTableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-25">
+        <addForeignKeyConstraint baseColumnNames="ID_SNAP" baseTableName="T_SC_NUM_1VAL" constraintName="FKSNAP_SC_NUM_1VAL_SNAPID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID_SNAP" referencedTableName="SNAPSHOT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-26">
+        <addForeignKeyConstraint baseColumnNames="ID_ATT" baseTableName="T_SC_NUM_2VAL" constraintName="FKSNAP_SC_NUM_2VAL_ATTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID" referencedTableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-27">
+        <addForeignKeyConstraint baseColumnNames="ID_SNAP" baseTableName="T_SC_NUM_2VAL" constraintName="FKSNAP_SC_NUM_2VAL_SNAPID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID_SNAP" referencedTableName="SNAPSHOT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-28">
+        <addForeignKeyConstraint baseColumnNames="ID_ATT" baseTableName="T_SC_STR_1VAL" constraintName="FKSNAP_SC_STR_1VAL_ATTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID" referencedTableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-29">
+        <addForeignKeyConstraint baseColumnNames="ID_SNAP" baseTableName="T_SC_STR_1VAL" constraintName="FKSNAP_SC_STR_1VAL_SNAPID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID_SNAP" referencedTableName="SNAPSHOT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-30">
+        <addForeignKeyConstraint baseColumnNames="ID_ATT" baseTableName="T_SC_STR_2VAL" constraintName="FKSNAP_SC_STR_2VAL_ATTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID" referencedTableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-31">
+        <addForeignKeyConstraint baseColumnNames="ID_SNAP" baseTableName="T_SC_STR_2VAL" constraintName="FKSNAP_SC_STR_2VAL_SNAPID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID_SNAP" referencedTableName="SNAPSHOT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-32">
+        <addForeignKeyConstraint baseColumnNames="ID_ATT" baseTableName="T_SP_1VAL" constraintName="FKSNAP_SP_1VAL_ATTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID" referencedTableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-33">
+        <addForeignKeyConstraint baseColumnNames="ID_SNAP" baseTableName="T_SP_1VAL" constraintName="FKSNAP_SP_1VAL_SNAPID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID_SNAP" referencedTableName="SNAPSHOT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-34">
+        <addForeignKeyConstraint baseColumnNames="ID_ATT" baseTableName="T_SP_2VAL" constraintName="FKSNAP_SP_2VAL_ATTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID" referencedTableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-35">
+        <addForeignKeyConstraint baseColumnNames="ID_SNAP" baseTableName="T_SP_2VAL" constraintName="FKSNAP_SP_2VAL_SNAPID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID_SNAP" referencedTableName="SNAPSHOT"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-36">
+        <addForeignKeyConstraint baseColumnNames="ID_ATT" baseTableName="LIST" constraintName="FK_IDATTFROMLIST" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID" referencedTableName="AST"/>
+    </changeSet>
+    <changeSet author="jelmoni (generated)" id="1610354256692-37">
+        <addForeignKeyConstraint baseColumnNames="ID_CONTEXT" baseTableName="LIST" constraintName="FK_IDCONTEXTFROMLIST" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ID_CONTEXT" referencedTableName="CONTEXT"/>
+    </changeSet>
+</databaseChangeLog>
diff --git a/src/test/resources/liquibase/master.xml b/src/test/resources/liquibase/master.xml
new file mode 100644
index 0000000000000000000000000000000000000000..efc379f09edc79929d61e54989fb97e833526f1e
--- /dev/null
+++ b/src/test/resources/liquibase/master.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<databaseChangeLog
+    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
+    <include file="initDB.xml" relativeToChangelogFile="true"/>
+    <include file="data/test-data.xml" relativeToChangelogFile="true"/>
+</databaseChangeLog>
\ No newline at end of file