DynamoDB schema updates with AWS Amplify
According to the AWS Amplify documentation:
- "objects annotated with @model are stored in Amazon DynamoDB";
- "a single @model directive configures ... an Amazon DynamoDB table"; and
- one can "push updated changes with
amplify push
".
It seems clear that amplify push
creates a DynamoDB table for each @model.
My questions relate to schema updates:
I imagine that adding/removing a model or adding/removing a field in a model works by updating the schema document and then running
amplify push
. Is that right?How does one rename a model or a field? How would
amplify push
know to rename vs. drop the old and add the new?How does one implement a migration that requires some business logic, e.g., to update the contents of existing rows? Doing this without Amplify has already been addressed but it is unclear whether that would conflict with something that
amplify push
might try to do.
amazon-web-services amazon-dynamodb graphql database-migration aws-amplify
add a comment |
According to the AWS Amplify documentation:
- "objects annotated with @model are stored in Amazon DynamoDB";
- "a single @model directive configures ... an Amazon DynamoDB table"; and
- one can "push updated changes with
amplify push
".
It seems clear that amplify push
creates a DynamoDB table for each @model.
My questions relate to schema updates:
I imagine that adding/removing a model or adding/removing a field in a model works by updating the schema document and then running
amplify push
. Is that right?How does one rename a model or a field? How would
amplify push
know to rename vs. drop the old and add the new?How does one implement a migration that requires some business logic, e.g., to update the contents of existing rows? Doing this without Amplify has already been addressed but it is unclear whether that would conflict with something that
amplify push
might try to do.
amazon-web-services amazon-dynamodb graphql database-migration aws-amplify
add a comment |
According to the AWS Amplify documentation:
- "objects annotated with @model are stored in Amazon DynamoDB";
- "a single @model directive configures ... an Amazon DynamoDB table"; and
- one can "push updated changes with
amplify push
".
It seems clear that amplify push
creates a DynamoDB table for each @model.
My questions relate to schema updates:
I imagine that adding/removing a model or adding/removing a field in a model works by updating the schema document and then running
amplify push
. Is that right?How does one rename a model or a field? How would
amplify push
know to rename vs. drop the old and add the new?How does one implement a migration that requires some business logic, e.g., to update the contents of existing rows? Doing this without Amplify has already been addressed but it is unclear whether that would conflict with something that
amplify push
might try to do.
amazon-web-services amazon-dynamodb graphql database-migration aws-amplify
According to the AWS Amplify documentation:
- "objects annotated with @model are stored in Amazon DynamoDB";
- "a single @model directive configures ... an Amazon DynamoDB table"; and
- one can "push updated changes with
amplify push
".
It seems clear that amplify push
creates a DynamoDB table for each @model.
My questions relate to schema updates:
I imagine that adding/removing a model or adding/removing a field in a model works by updating the schema document and then running
amplify push
. Is that right?How does one rename a model or a field? How would
amplify push
know to rename vs. drop the old and add the new?How does one implement a migration that requires some business logic, e.g., to update the contents of existing rows? Doing this without Amplify has already been addressed but it is unclear whether that would conflict with something that
amplify push
might try to do.
amazon-web-services amazon-dynamodb graphql database-migration aws-amplify
amazon-web-services amazon-dynamodb graphql database-migration aws-amplify
asked Nov 19 '18 at 10:33
kkuriankkurian
2,07032237
2,07032237
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372696%2fdynamodb-schema-updates-with-aws-amplify%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372696%2fdynamodb-schema-updates-with-aws-amplify%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown