#ruby-on-rails #ruby #postgresql
#ruby-on-rails #ruby #postgresql
Вопрос:
У меня есть следующие 2 файла:
20161009180554_add_process_functionst_to_db.rb
class AddProcessFunctionstToDb < ActiveRecord::Migration
def up
funcs = File.read(Rails.root.join('db', 'migrate', 'processfunctions.sql').to_s)
execute funcs
end
end
processfunctions.sql
drop function if exists retention_data(ref refcursor, shopId integer);
create or replace function retention_data(ref refcursor, shopId integer) returns refcursor as $$
begin
...
return ref;
end;
$$ language plpgsql;
Я пытаюсь добавить функцию в processfunctions.sql в базу данных. Но когда я запускаю
rake db:migrate
Я получаю следующую ошибку:
/app/vendor/bundle/ruby/2.2.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near ""
LINE 1:
^
:
drop function if exists retention_data(ref refcursor, shopId integer);
после «Строки 1:» в ошибке (на что указывает стрелка) находится прямоугольник. Например, что бы вы увидели, если бы у вас не был установлен правильный шрифт.
Я удалил пустую строку в строке 1 и сменил CRLF на LF, но ни один из них ничего не изменил
Комментарии:
1.
processfunctions.sql
Содержит ли он то, что вы думаете? Возможно, взгляните на это сcat -vet
помощью или посмотрите на шестнадцатеричный дамп.2. Круто, это сработало! Спасибо