Миграции MongoDB стали простыми

Exodus - проверенный в production фреймворк для управления миграциями MongoDB. Используется с 2013 года.

# Установка через RubyGems
gem install exodus

# Создание новой миграции
class AddEmailToUsers < Exodus::Migration
  def up
    users.find({}).each do |user|
      user['email'] = generate_email(user)
      users.save(user)
    end
  end

  def down
    users.update({}, {'$unset' => {'email' => 1}})
  end
end

Почему Exodus?

Всё необходимое для безопасных миграций данных

🚀

Production Ready

Используется в production окружениях с марта 2013 года. Протестирован на миллионах документов.

🔄

Откат миграций

Каждая миграция имеет методы up и down для безопасного применения и отката изменений.

📊

Версионирование

Отслеживание всех применённых миграций, контроль версий схемы базы данных.

Высокая производительность

Оптимизирован для работы с большими объёмами данных, пакетная обработка документов.

🔒

Безопасность

Транзакционность операций, логирование всех изменений, защита от повторного применения.

🛠

Простая интеграция

Легко интегрируется с Ruby on Rails, Sinatra и другими Ruby-фреймворками.

Примеры использования

# Добавление нового поля во все документы
class AddTimestampsToProducts < Exodus::Migration
  def up
    products.find({}).each do |product|
      product['created_at'] = Time.now
      product['updated_at'] = Time.now
      products.save(product)
    end
  end

  def down
    products.update({}, {'$unset' => {'created_at' => 1, 'updated_at' => 1}})
  end
end

10+ лет

В production с 2013 года

1000+

Компаний используют

1M+

Миграций выполнено

99.9%

Надёжность

Документация и ресурсы

Готовы начать?

Присоединяйтесь к тысячам разработчиков, использующих Exodus