В настоящее время я работаю над проектом ROR. Я создал эшафот для Notes и выполнил миграцию для него. Однако теперь у нас была небольшая смена планов, и я хочу вернуть приложение в исходное состояние. Поэтому я запускаю rails scaffold, чтобы уничтожить заметки, и поэтому у меня все файлы были стерты. Но у меня все еще есть файл schema.rb с заданной миграцией таблицы Notes. Как мне избавиться от него, не изменяя вручную этот файл (который считается плохой практикой)? Если я сгенерирую модель Notes и запустил миграцию, этот файл будет обновляться, и все будет хорошо? Или могут быть конфликты? Я попытался запустить rake db: reset. Кажется, это не сработало. Но все же в конце процесса я получил это сообщение.Как вернуть базу данных обратно в исходное состояние в рельсах?
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"thenotesapp", "pool"=>5, "username"=>"thenotesapp", "password"=>"thenotesapp"}
-- enable_extension("plpgsql") -> 0.0367s
-- create_table("notes", {:force=>:cascade}) -> 0.0628s
-- initialize_schema_migrations_table() -> 0.0276s
-- enable_extension("plpgsql") -> 0.0251s
-- create_table("notes", {:force=>:cascade}) -> 0.0157s
-- initialize_schema_migrations_table() -> 0.0012s
schema.rb остается как этот помост уничтожил
ActiveRecord::Schema.define(version: 20150114071920) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "notes", force: :cascade do |t|
t.string "title"
t.text "text"
t.datetime "created_at"
t.datetime "updated_at"
end
end
Попробуйте 'rake db: drop db: create db: migrate', чтобы получить свежий' schema.rb'. – Kris
Редактирование миграции - это плохая практика по причине: уже развернутые приложения должны иметь возможность обновлять свою схему при обновлении. Если приложение еще не развернуто нигде, и вы изучаете, нет никакого вреда в изменении миграции. –
Вы получили его? –