ромб предварительно заполненный БД и сброс - PullRequest
2 голосов
/ 18 августа 2011

Привет, я заранее заполняю БД, как здесь сказано http://docs.rhomobile.com/faq#how-to-pre-populate-client-database но у меня проблема, что когда я делаю сброс БД с кодом по умолчанию

def do_reset
    Rhom::Rhom.database_full_reset
    SyncEngine.dosync
    @msg = "Database has been reset."
    redirect :action => :index, :query => {:msg => @msg}
  end

тогда я теряю данные. Как я могу сделать так, чтобы предварительно заполненная база данных всегда загружалась, когда я делаю сброс. Приветствия

Я придумываю такое решение

в представлении do_reset.erb

<% 
Antwort.delete_all()
   file_name = File.join(Rho::RhoApplication::get_model_path('app','Settings'), 'antwort.txt')
   file = File.new(file_name,"r")
   aid=0
   file.each_line("\n") do |row|
     col = row.split("|")
 aid=aid+1
    @antwort=Antwort.create(
       {"aid" => aid, "qid" => col[0],"antwort"=>col[1],"richtig"=>col[2]}
     )

     qty=file.lineno
     break if file.lineno > 3000
   end

   Questions.delete_all()
file_name = File.join(Rho::RhoApplication::get_model_path('app','Settings'), 'questions.txt')
  file = File.new(file_name)

  file.each_line("\n") do |row|
    col = row.split("|")

   @question=Questions.create(
      {"id" => col[0], "question" => col[1],"answered"=>'0',"show"=>'1',"tutorial"=>col[4]}
    )


    break if file.lineno > 1500
  end
file.close
  @msg="OK"
  %>

Но единственная проблема, которая у меня сейчас есть, - это одинарные кавычки в текстах. Затем они отображаются в приложении в виде треугольника с? внутри, как один. Что делать?

1 Ответ

1 голос
/ 18 августа 2011

Вы можете заполнить базу данных, используя текстовый файл с разделителями каналов, как объяснено здесь .

Таким образом, в том случае, если вы используете определения модели Property Bag, у вас будет файл с именем object_values.txt и загружены все необходимые источники, свойства и значения.

...