В какой-то момент в развитии моих рельсов я начал делать изменения в базе данных (например, удалять или изменять столбцы/таблицы) без использования переходов рельсов. Так что теперь я получаю ошибки, когда пытаюсь развернуть приложение rails с нуля.Мои миграции рельсов не запускаются, и я не могу развернуть приложение rails. Как мне начать?
[email protected] ~/tmp/rbjacolyte $ rake db:migrate
(in /home/blaine/tmp/rbjacolyte)
== AddHashToTrack: migrating =================================================
-- add_column(:tracks, :hash, :string)
rake aborted!
An error has occurred, all later migrations canceled:
Mysql::Error: Table 'jacolyte_dev_tmp.tracks' doesn't exist: ALTER TABLE `tracks` ADD `hash` varchar(255)
(See full trace by running task with --trace)
Как синхронизировать среду разработки и разработки с миграциями после того, как я удалил ее с помощью необработанного SQL? Я хочу развернуть приложение rails без ошибок базы данных, и я не хочу начинать с нуля.
Данные в производственных и производственных средах совпадают, но миграции терпят неудачу. Я хочу, чтобы «начать с нуля».
Могу ли я просто удалить все миграции, которые у меня есть, а затем только начать использовать миграции?
Данные как в производстве, так и в разработке совместимы друг с другом. Еще одна проблема: миграции не будут выполняться ни по производству, ни по разработке, потому что я сделал много изменений с использованием необработанного SQL или Sequel ORM. –
Мне просто нужен способ «начать с нуля», так сказать. Миграции не синхронизированы с базой данных. Например, миграции выполняются, но сбой, потому что я удалю базу данных с необработанным SQL, а не с миграцией ... поэтому миграции будут думать, что они все еще существуют, и попытаться удалить их, но сбой. –
Если вы укажете VERSION = 0 при запуске миграции, она будет запускать их с самого начала. –