рельсы контроля версий и базы данных, с чего начать? - PullRequest
1 голос
/ 29 августа 2009

Я из клиентского языка программирования, в частности, ActionScript. Поэтому, хотя я достаточно хорошо разбираюсь в коде, у меня очень мало опыта на стороне сервера, особенно в области контроля версий баз данных и самого приложения rails. И затем есть командная строка, которая является полной загадкой.

Прямо сейчас я создаю свое первое приложение rails и довольно неплохо выглядит на моей локальной машине. Я думаю, что пришло время начать устанавливать контроль версий. Большинство книг затрагивают вопросы контроля версий, но это кажется более сложным, чем создание приложения rails, которое идет нормально. Итак, мои вопросы:

  • Где начать изучать этот материал?
  • Могу ли я управлять версией базы данных вместе с приложением rails?
  • Все это намного труднее и сложнее, чем сборка самого приложения rails?

Ответы [ 5 ]

2 голосов
/ 29 августа 2009

Получение системы управления версиями, такой как Subversion или Git, - самая простая часть.

Сложная задача - выяснить, как заставить все это работать с базой данных. Это не совсем то же самое, что и код.

Например, вы будете архивировать только историю схемы или данные? (Возможно, первое, но вы никогда не знаете.) Как вы будете управлять загрузкой данных (например, для тестовых сценариев)?

Скотт Амблер и Прамод Садаланж проделали определенную работу по работе с гибкими базами данных . Они рекомендуют составлять сценарии всех изменений схемы и применять их по порядку, чтобы привести схему к определенной версии. Может быть, это хорошее место для начала.

2 голосов
/ 29 августа 2009
  • Вы изучаете такие вещи просто оглядываться и пытаться вне, нет никакой замены. другие могу только предложить какой инструмент лучше за то, что вы пытаетесь сделать, но у каждого свое мнение так .. да .. просто сделай это!

  • Я лично не знаю, как Управление версиями базы данных, но как для общей версии управления вашим код я бы предложил "мерзавец" (ссылка здесь! ). Это один из самых простых и самый популярный контроль версий Системы вокруг. Первоначально разработан Линус Торвальдс, и сейчас поддерживается ....

  • Да / Нет, в зависимости от того, как вы определяете сложно. Создать версию контролировать свой код с помощью «git», вы бы изначально набрали

    git init

    в каталоге кода. И к добавить весь код в git, чтобы сказать это следить за изменениями в файлы, вы должны ввести:

    git add *

    и затем совершить (сохранить изменения), введите:

    git commit -m "Введите то, что у вас есть сделано до сих пор "

    И это в значительной степени мерзавец, ты бы повторил последние два шаги, чтобы добавить и сохранить ваши изменения как Вы разрабатываете свой код. Так что если у вас есть сделал что-то не так с вашим кодом все Вы должны сделать, это оглянуться на свой «совершает» и решает, где вы хотите вернуться назад.

    Значит, да, это круто другие, но это не так приятно в моем мнение. Это: SVN, CVS.

Возвращаясь к версии, управляющей вашей базой данных. Почему вы хотите это сделать? В Rails есть встроенный контроль версий базы данных, каждый раз, когда вы меняете схему базы данных, она записывается, поэтому, если вы сделали что-то не так, вы всегда можете вернуться назад! Вы имели в виду сделать резервную копию вашей базы данных DATA ?? Потому что, если это MySQL, вы всегда можете экспортировать его в XML и контролировать версию этого XML-файла!

1 голос
/ 29 августа 2009

Если вы заинтересованы в управлении версиями, то, как правило, у парней PragProg есть несколько книг по Subversion и Git (http://www.pragprog.com),, посмотрите на них, если вы хотите создать свой собственный репозиторий. Также доступна книга Subversion для бесплатной загрузки (http://svnbook.red -bean.com / ). Это даст вам возможность хранить свой код в системе контроля версий (чего бы я не хотел, даже для личных проектов). Если вы не хотите создавать собственную систему управления версиями, тогда доступны доступные варианты.

Что касается настройки базы данных. Миграции - это путь, но вам может быть проще использовать одну миграцию для каждой таблицы (т.е. редактировать имеющуюся у вас миграцию, а не создавать новые для каждого изменения). Таким образом, вы можете отслеживать все изменения таблицы в одном месте. Не традиционный способ сборки вещей в Rails, но у него есть некоторые преимущества.

Одной из проблем, с которыми вам еще предстоит справиться, являются данные в базе данных. Если вы перейдете в режим реального времени и решите откатить свою базу данных, вы потеряете все свои данные, поэтому инвестируйте в инструмент резервного копирования / восстановления базы данных.

Если у вас есть контроль версий, его, как правило, легко использовать и управлять им. Если вы используете IDE, она, вероятно, интегрирована в вашу систему контроля версий (особенно если вы используете SubVersion).

1 голос
/ 29 августа 2009

Посмотрите на миграции .

0 голосов
/ 29 августа 2009

Я не знаю, что вам нужно сделать версию базы данных с помощью git, и если вы это сделаете, репозиторий будет довольно большим. Я бы просто периодически делал дамп и распаковывал базу данных, которую вы можете сохранить для дальнейшего использования. Схема вашего приложения должна быть безопасной в вашем контроле версий, и с вашими дампами у вас все должно быть в порядке.

Если вы некоторое время программировали без контроля исходного кода. СТОП. Пойди узнай о каком-то контроле версий, он однажды спасет твою задницу. Ruby, ActionScript, что бы вы ни писали, помещали это в git или что бы вы ни выбрали, вам будет лучше. У меня есть регистрация или два, прежде чем я даже написал свой собственный код, когда я добавляю пару плагинов и т.д., которые мне нужны.

Заходите рано, регистрируйтесь часто, придерживайтесь той же философии, что и раньше. Чем больше вы проверяете вещи, тем больше пунктов вам нужно откатить, если вам нужно, а также тем лучше вы можете просматривать свои разработки, либо к выпуску, либо к разработке в качестве программиста.

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