Я пишу скрипт для изменения нескольких таблиц одновременно в приложении. Но я застрял, пытаясь записать в файл миграции, который я генерирую,
вот что у меня есть в инструменте:
system "rails g migration AddDefaultValueToBooleans"
file = "#{Rails.root}db/migrate/*add_default_value_to_booleans.rb"
def replace(filepath, regexp, *args, &block)
content = File.read(filepath).gsub(regexp, *args, &block)
File.open(filepath, 'wb') { |file| file.write(content) }
end
replace( file, /^def change/mi) { |match| "change_column :my_table, :my_column, null: false, default: false" }
replace
отличный метод, который я нашел здесь https://stackoverflow.com/a/2141540/8480602
но он не находит мой файл. я продолжаю получать ошибку
No such file or directory @ rb_sysopen - root_path/migrate/*add_default_value_to_booleans.rb (Errno::ENOENT)
путь к файлу, который я использую, неверен, но я не могу понять, как правильно его написать