Я создал новую таблицу, содержащую колонку «note». По умолчанию я считаю varchar (255), но я хочу, чтобы этот столбец был текстовой областью и полем и позволял больше данных. Я предполагаю, что внесет это изменение в файл ActiveRecord :: Migration, но мне интересно, как это сделать. Могу ли я просто изменить varchar (255) на varchar (1000)? (Если да, то формат?varchar Миграционный вопрос для Ruby on Rails
def self.up
create_table :notes do |t|
t.string :note :varchar(1000)
end
Это правильный формат? Кроме того, как я получаю поле ввода быть несколько строк. Извините, если это легкий материал, но я новичок в программировании и RoR. Благодаря.
Могу я просто сменить файл ..._ create_notes.rb, который был изначально сгенерирован? Затем выполните rake db: migrate, чтобы реализовать это изменение? Или это вызовет проблемы, и я должен сделать удаление старой колонки или изменения? – bgadoci
Если вы уже перенесли миграцию, вам нужно либо отбросить базу данных, воссоздать ее и выполнить миграцию (которая уничтожает все данные в базе данных), либо вам нужны столбцы изменений, такие как Ben. В противном случае, если вы еще не перенести, просто измените строку в своей миграции и выполните миграцию. – EmFi
@bgadoci: Если вы никогда не вызывали db: migrate после создания этой миграции, вы можете просто отредактировать файл перед вызовом db: migrate. В противном случае вы можете создать новую миграцию, чтобы внести изменения: def self.up change_column: notes,: note,: text end –