Можно ли создать миграцию БД для динамо БД в ruby ​​на рельсах - PullRequest
1 голос
/ 27 февраля 2012

Я использую рельсы 3, а для динамо-базы использую гем 'aws-sdk'. И у меня есть некоторые сомнения в миграции БД.

1) Можно ли создать миграцию базы данных для динамо-базы данных в ruby ​​на рельсах?

2) Если так, как написать? Поскольку у динамо-базы данных нет имени поля таблицы, только пары ключ-значение, нам нужно создать только таблицу и первичный ключ?

Ответы [ 3 ]

3 голосов
/ 27 февраля 2012

Вы не можете написать миграцию для DynamoDB в Rails;гем AWS-SDK не обеспечивает его поддержку.Вы должны создать таблицы вручную или использовать драгоценный камень.

И если вы ищете драгоценный камень, который поддерживает этот материал ... к сожалению, в общем и целом он еще не существует.Если вы извините за бесстыдную саморекламу, я сейчас пишу адаптер DynamoDB Rails;Вы можете проверить это в хранилище Dynamoid Github .Я не думаю, что я бы назвал это производство готовым, но это может дать вам хорошую отправную точку.

0 голосов
/ 24 декабря 2012

Также эгоистичный плагин - потому что для DynamoDb еще не так много ...

Вы можете проверить Mince Dynamo Db . При использовании Mince в рельсах или стандартном приложении ruby ​​вы можете разработать свое приложение, используя хэш ruby ​​в качестве базы данных, и переключить его на базу данных Amazon DynamoDb при подготовке и производстве.

Если вам нужно поведение, которого еще нет, например, создание таблиц и изменение уровней пропускной способности, добавьте проблему в github. Эта библиотека сейчас используется в производстве.

0 голосов
/ 29 октября 2012

Хотя вы не можете писать миграции для таблиц DynamoDB, я создал небольшую задачу rake для выполнения действий, подобных миграции. Он имеет две задачи: создать и удалить, которые создают все таблицы или удаляют все таблицы соответственно.

Это не очень необычно и может использовать некоторые параметры и проверку ошибок, но, похоже, работает. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...