Rails 3 - Как удалить таблицы базы данных, которые были созданы? - PullRequest
5 голосов
/ 12 октября 2010

Я создал 2 модели и провел миграцию, попытался поработать над каждой из них, и теперь я хотел бы начать все сначала и подойти к ним по-другому.Я новичок в Rails и никогда не пытался удалять / удалять таблицы базы данных (кроме их отката сразу после их переноса).

Спасибо!

Ответы [ 4 ]

6 голосов
/ 21 июля 2013

Чтобы удалить таблицу во время миграции, вы можете rails g migration DropUsers

class DropUsers < ActiveRecord::Migration
  def up
    drop_table :users
  end

  def down
    # recreate table logic here
  end
end

Вы также можете удалить таблицы из консоли Rails

ActiveRecord::Migration.drop_table(:users)

FYI Если вы хотите удалить созданный скаффолдом код, rails destroy scaffold User

5 голосов
/ 12 октября 2010

Создайте еще одну миграцию и в self.up

drop_table :tablename

http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-drop_table

1 голос
/ 12 октября 2010

Если вы никогда не фиксировали изменения и не развертывали приложение, вы можете просто удалить файлы модели и удалить таблицы из базы данных, используя консоль базы данных (при условии, что для входа в консоль оболочки используется тип sqlite3 sqlite3), или администрацию базы данных. GUI.

В противном случае вам нужно будет использовать миграцию drop_table, чтобы отразить изменения в производственной системе.

0 голосов
/ 28 февраля 2012

См. Верхний ответ на вопрос Рельсы - Как создать базу данных

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