Я использую PostgreSQL с рубином и рельсами приложения и имею Postgres_copy
камня установлен https://github.com/diogob/postgres-copyИмпорт данных из текстового файла в PostgreSQL. «Postgres_Copy» Gem
У меня есть таблица гостиницы и хочу импортировать текстовый файл с помощью функции pg_copy_from
камня. Данные в файле разделяются символом "|" символ.
Так что я создал грабли задачу
namespace :db do
namespace :import do
desc "Copy hotels records to the database"
task :hotels => :environment do
Hotel.pg_copy_from 'db/ActivePropertyList.txt', :delimiter => '|', :map => {
'HotelID' => 'ean_hotel_id',
'SequenceNumber' => 'sequence_number',
'Name' => 'name',
'Address' => 'address'}
end
end
end
Если я запускаю rake db:import:hotels
ничего не происходит. В чем может быть проблема?
UPDATE
Я заметил, что когда я бегу psql
и попытаться увидеть все realtions по \d
команды, он говорит: «Не найдено ни отношений.»
Однако я выполнил команды rake:db:create:all
и rake db:migrate
и могу видеть файл схемы. Кроме того, команда \l
в консоли psql показывает мою базу данных.
Может, было бы проще просто запустить
c = Hotel.connection.raw_connection
c.exec(%q{\copy hotels (hotel_id, name) FROM 'db/ActivePropertyList.txt' DELIMITER '|'})
, но я полагаю, ничего не происходит из-за недостающих отношений.