परीक्षण के लिए एक साझा डेटाबेस कभी भी एक अच्छा विचार नहीं है, संभवतः आप इसे जानते हैं, इसलिए आप पूछ रहे हैं कि एक समय में एक उपयोगकर्ता तक पहुंच को कैसे प्रतिबंधित किया जाए।
एक तरफ प्रचार करना ..... मैं डेटाबेस स्कीमा और डेटा आबादी दोनों को प्रबंधित करने के लिए तरल पदार्थ के बाएं क्षेत्र के समाधान की पेशकश करना चाहता हूं। इसमें बहुत सारी उपयोगी विशेषताएं हैं जिनमें से एक यह है कि यह स्वचालित रूप से डेटाबेस को लॉक कर देगी और लिक्विबेस के दो उदाहरणों को एक दूसरे के साथ हस्तक्षेप करने से रोकेगी।
उदाहरण
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.myspotontheweb.db</groupId>
<artifactId>liquibase-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<!-- Liquibase settings -->
<liquibase.url>jdbc:h2:target/db1/liquibaseTest;AUTO_SERVER=TRUE</liquibase.url>
<liquibase.driver>org.h2.Driver</liquibase.driver>
<liquibase.username>user</liquibase.username>
<liquibase.password>pass</liquibase.password>
<liquibase.changeLogFile>com/myspotontheweb/db/changelog/db-changelog-master.xml</liquibase.changeLogFile>
<liquibase.promptOnNonLocalDatabase>false</liquibase.promptOnNonLocalDatabase>
</properties>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.162</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>2.0.2</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>