Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit 2b2bdb1

Browse files
author
Benjamin Darfler
committed
1 parent dbd15bc commit 2b2bdb1

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ dynamoDBLocalInMemory := false
4949
dynamoDBLocalDBPath := Some("some/directory/here")
5050
```
5151

52+
The default for DynamoDB Local instance is to use a separate file for each credential and region. To allow all all DynamoDB clients to interact with the same set of tables regardless of their region and credentials enable "shared db" mode.
53+
54+
```
55+
dynamoDBLocalSharedDB := true
56+
```
57+
5258
The default regarding tests is to both stop & cleanup any data directory if specified. This can be changed using the below settings.
5359

5460
```

src/main/scala/com/localytics/sbt/dynamodb/DynamoDBLocal.scala

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ object DynamoDBLocal extends AutoPlugin {
2424
val dynamoDBLocalPort = settingKey[Option[Int]]("The port number that DynamoDB Local will use to communicate with your application. If you do not specify this option, the default port is 8000.")
2525
val dynamoDBLocalDBPath = settingKey[Option[String]]("The directory where DynamoDB Local will write its database file. If you do not specify this option, the file will be written to the current directory.")
2626
val dynamoDBLocalInMemory = settingKey[Boolean]("Instead of using a database file, DynamoDB Local will run in memory. When you stop DynamoDB Local, none of the data will be saved.")
27+
val dynamoDBLocalSharedDB = settingKey[Boolean]("DynamoDB Local creates a single database file named shared-local-instance.db. Every program that connects to DynamoDB Local will access this file. If you delete the file, you will lose any data you have stored in it")
2728
val deployDynamoDBLocal = TaskKey[File]("deploy-dynamodb-local")
2829
val startDynamoDBLocal = TaskKey[String]("start-dynamodb-local")
2930
val dynamoDBLocalPid = TaskKey[String]("dynamodb-local-pid")
@@ -40,6 +41,7 @@ object DynamoDBLocal extends AutoPlugin {
4041
dynamoDBLocalPort := Some(DefaultPort),
4142
dynamoDBLocalDBPath := None,
4243
dynamoDBLocalInMemory := true,
44+
dynamoDBLocalSharedDB := false,
4345
stopDynamoDBLocalAfterTests := true,
4446
cleanDynamoDBLocalAfterStop := true,
4547
deployDynamoDBLocal <<= (dynamoDBLocalVersion, dynamoDBLocalDownloadUrl, dynamoDBLocalDownloadDirectory, streams) map {
@@ -64,12 +66,13 @@ object DynamoDBLocal extends AutoPlugin {
6466
sys.exit(1)
6567
}
6668
},
67-
startDynamoDBLocal <<= (deployDynamoDBLocal, dynamoDBLocalDownloadDirectory, dynamoDBLocalPort, dynamoDBLocalDBPath, dynamoDBLocalInMemory, streams) map {
68-
case (dyanmoHome, baseDir, port, dbPath, inMem, streamz) =>
69+
startDynamoDBLocal <<= (deployDynamoDBLocal, dynamoDBLocalDownloadDirectory, dynamoDBLocalPort, dynamoDBLocalDBPath, dynamoDBLocalInMemory, dynamoDBLocalSharedDB, streams) map {
70+
case (dyanmoHome, baseDir, port, dbPath, inMem, shared, streamz) =>
6971
val args = Seq("java", s"-Djava.library.path=${new File(baseDir, DynamoDBLocalLibDir).getAbsolutePath}", "-jar", new File(baseDir, DynamoDBLocalJar).getAbsolutePath) ++
7072
port.map(p => Seq("-port", p.toString)).getOrElse(Nil) ++
7173
dbPath.map(db => Seq("-dbPath", db)).getOrElse(Nil) ++
72-
(if(inMem) Seq("-inMemory") else Nil)
74+
(if(inMem) Seq("-inMemory") else Nil) ++
75+
(if (shared) Seq("-sharedDb") else Nil)
7376

7477
if(!Utils.isDynamoDBLocalRunning(port.getOrElse(DefaultPort))) {
7578
streamz.log.info("Starting dyanmodb local:")

0 commit comments

Comments
 (0)