Я установил DynamoDB локально на свой Mac (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html), и я написал псевдоним bash, чтобы избежать необходимости cd
в каталог DynamoDB и выполнения
$ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
каждый раз, когда я хочу запустить базу данных. Однако псевдоним, похоже, не работает должным образом...
Во-первых, псевдоним, который я написал,
alias ddb-start="java -Djava.library.path=~/Documents/dynamodb/DynamoDBLocal_lib -jar ~/Documents/dynamodb/DynamoDBLocal.jar -sharedDb"
и когда я запускаю $ ddb-start
, база данных запускается, как и ожидалось:
Initializing DynamoDB Local with the following configuration:
Port: 8000
InMemory: false
DbPath: null
SharedDb: true
shouldDelayTransientStatuses: false
CorsParams: *
Проблема в том, что если я не запускаю скрипт из ~/Documents/dynamodb/
, все мои таблицы отсутствуют.
Так что, если я cd
до Documents/dynamodb/
, а затем запускаю $ ddb-start
, все идеально. Но если я открою новое окно терминала и запущу $ ddb-start
(или запущу его из любого другого места, кроме Documents/dynamodb/
), Dynamo запустится как надо, но когда я перечислю таблицы в JavaScript Shell, таблиц не будет.
Я надеялся, что смогу запустить псевдоним из любого каталога, а Dynamo запустится и будет работать правильно. Должен ли я cd
входить в каталог, даже с псевдонимом? Или что-то не так с псевдонимом, который я написал?
*** Ах, я заметил, что из какого бы каталога я его ни запускал, копия shared-local-instance.db
создается в этом каталоге. Я не хочу, чтобы это произошло, я хочу, чтобы он указывал на «оригинал» shared-local-instance.db
в ~/Documents/dynamodb/
. Как я могу это сделать?