Я создаю приложение Rails, в котором пользователи будут загружать файлы CSV. Эта часть уже работает.Как создать новую таблицу DB для каждого CSV, загружаемого пользователем в Rails 3?
Поскольку каждый файл загружен, я хочу создать для него новую таблицу в базе данных (с именем нечто уникальное, например csv_USERNAME_CSVID). Когда он создается, запись должна быть помещена в другую таблицу csv_tables, которая ссылается на каждую таблицу, соответствующую CSV.
Что я хочу - это возможность выполнять операции CRUD с использованием синтаксиса Rails, как и для всего остального - например, Table.create(), Table.find() и Table.destroy(), а также для каждая строка данных внутри этой таблицы посредством цепочки методов.
Как это сделать в Rails?
Если это невозможно, будет ли следующий лучший вариант написать серию вспомогательных функций, которые выполняют необработанные SQL-запросы, необходимые для выполнения этих манипуляций?
Это означает, что я потеряю способность сортировать, фильтровать и иным образом манипулировать данными в CSV, что является значительной частью цели приложения. – msolomon
Я согласен с Veraticus, даже если вы потеряете много тех способностей, которые создают таблицы на лету, как будто это не очень хорошая идея, на мой взгляд. Вы все равно могли бы выполнять те манипуляции, которые вам нужны, возможно, не на прямом уровне таблицы. –
Не можете ли вы манипулировать данными как строки? Какие преобразования вы можете достичь с помощью таблицы, которую вы не можете достичь в виде строки? – Veraticus