2016-07-07 2 views
-2

Не могли бы вы помочь мне с проблемой? Мне нужно добавить в базу данных:О базе данных на Ruby

hash = {:date_add => 1 :company => ['test', 'test2', 'test3']} 

Они должны добавить пг в такой форме:

1 test 
1 test2 
1 test3 

Как я пишу это в Ruby?

+0

Так у вас есть база данных? Это должно состоять из таблиц. Данные будут добавлены в одну или несколько таблиц. Какая схема для вашей базы данных? – lurker

+0

Добро пожаловать в SO. Что вы пробовали? Если вы этого не сделали, то почему бы и нет? Ваш вопрос говорит нам немного, что поможет нам создать подробные ответы, и вместо этого мы можем дать вам широкий ответ, равный вашему широкому вопросу. Чтобы быть подробным, нам нужно написать учебник, который не соответствует теме. Пожалуйста, прочитайте «[ask]», включая связанные страницы. И вместо того, чтобы напрямую использовать pg, я бы рекомендовал использовать ORM, например Sequel. –

ответ

0

Если у вас есть Postgres установки и настройки, с рд гем (драгоценный камень установить пг) и так далее, вы могли бы сделать что-то вроде:

require 'pg' 

begin 
    con = PG.connect :dbname => 'testdb', :user => 'postgres' 
    con.exec "DROP TABLE IF EXISTS COMPANY" 
    con.exec "CREATE TABLE COMPANY(Id INTEGER PRIMARY KEY, 
     Name VARCHAR(20), Date_int INT)" 
    hash = {date_add: 1, company: ['test', 'test2', 'test3']} 
    hash[:company].each_with_index do |company, i| 
     con.exec "INSERT INTO COMPANY VALUES(#{i+1},#{company}, #{hash[:date_add]})" 
    end  
rescue PG::Error => e 
    puts e.message 
ensure 
    con.close if con 
end 
Смежные вопросы