Как мне создать базу данных, используя Ruby DBI? - PullRequest
0 голосов
/ 18 мая 2011

Я занимаюсь разработкой небольшого приложения на Ruby, которое мне хотелось бы работать как с PostgreSQL, так и с MySQL.

Кажется, что Ruby / DBI - самый простой способ сделать это; Я не хочу устанавливать тяжелый ORM, такой как ActiveRecord или что-то в этом роде. К сожалению, похоже, что Ruby / DBI упрощает подключение, если у вас уже есть база данных, но я не могу понять, как подключиться к серверу без БД и выполнить команду CREATE DATABASE.

Пока у меня есть это:

dbh = DBI.connect("DBI::Pg", "username", "password")

но я получаю эту ошибку при попытке подключиться: Invalid Data Source Name. Есть идеи, что я могу сделать?

Кроме того, если я смогу получить «дескриптор без базы данных», мне было интересно, существует ли метод DBI для select_db, и зашел в базу данных для выполнения дальнейших запросов. Это второстепенно, и я могу жить без него.

1 Ответ

1 голос
/ 18 мая 2011

У вас должна быть база данных postgres, чтобы вы могли попробовать:

dbh = DBI.connect('dbi:Pg:postgres', 'username', 'password')

А затем выполните ваш CREATE DATABASE оттуда. Кроме того, первый аргумент connect должен быть:

dbi:Driver:database_conn_args

Где Driver - драйвер базы данных (с учетом регистра), а database_conn_args - обычно имя базы данных.

...