Статьи

Rails и PostgreSQL с IDE NetBeans


В этой статье описывается, как создать приложение Rails для доступа к
базе данных
PostgreSQL с помощью
NetBeans 6 .

Загрузите и настройте PostgreSQL

  1. Загрузите PostgreSQL отсюда .
  2. После загрузки и установки откройте командную строку PostgreSQL (из меню программы) и инициализируйте базу данных, введя следующую команду (в binкаталоге):
    initdb -D "\users\Arun Gupta\postgresql\data"

    Обратите внимание, что каталог, указанный в команде, не существует и будет создан после выполнения команды. Следующий вывод показан:

    The files belonging to this database system will be owned by user "Arun Gupta".
    This user must also own the server process.

    The database cluster will be initialized with locale English_United States.1252.

    fixing permissions on existing directory /users/Arun Gupta/postgresql/data ... ok
    creating subdirectories ... ok
    selecting default max_connections ... 100
    selecting default shared_buffers/max_fsm_pages ... 32MB/204800
    creating configuration files ... ok
    creating template1 database in /users/Arun Gupta/postgresql/data/base/1 ... ok
    initializing pg_authid ... ok
    initializing dependencies ... ok
    creating system views ... ok
    loading system objects' descriptions ... ok
    creating conversions ... ok
    setting privileges on built-in objects ... ok
    creating information schema ... ok
    vacuuming database template1 ... ok
    copying template1 to template0 ... ok
    copying template1 to postgres ... ok

    WARNING: enabling "trust" authentication for local connections
    You can change this by editing pg_hba.conf or using the -A option the
    next time you run initdb.

    Success. You can now start the database server using:

    "postgres" -D "/users/Arun Gupta/postgresql/data"
    or
    "pg_ctl" -D "/users/Arun Gupta/postgresql/data" -l logfile start

    Это потребуется позже для настройкиdatabase.yml.

  3. Запустите PostgreSQL, введя следующую команду:
    "postgres" -D "/users/Arun Gupta/postgresql/data"

    Следующий вывод показан:

    LOG: database system was shut down at 2008-01-10 22:11:01
    LOG: checkpoint record is at 0/4872F8
    LOG: redo record is at 0/4872F8; undo record is at 0/0; shutdown TRUE
    LOG: next transaction ID: 0/593; next OID: 10820
    LOG: next MultiXactId: 1; next MultiXactOffset: 0
    LOG: database system is ready

Создайте проект JRuby-on-Rails, используя PostgreSQL

  1. Используя NetBeans, создайте проект Rails. Выберите PostgreSQL в качестве базы данных, как показано ниже:

  2. Обновите базу данных разработки в » database.yml«, чтобы она соответствовала:
    development:
    adapter: postgresql
    host: localhost
    port: 5432
    database: RailsApplication1_Development
    username: Arun Gupta
    password:

    Используются порт и имя пользователя по умолчанию.

  3. Установите привязку базы данных чистого Ruby Postgres, введя следующие команды:
    C:\Program Files\NetBeans 6.0\ruby1\jruby-1.0.2\bin>jruby gem install 
    postgres-pr
    Bulk updating Gem source index for: http://gems.rubyforge.org
    Successfully installed postgres-pr-0.4.0

    Добавление драгоценного камня с помощью » Tools» -> » Ruby Gems» встречает проблему # 122593 .

Сделать миграцию

  1. Откройте командную строку PostgreSQL и создайте базу данных, введя следующую команду (в binкаталоге):
    createdb RailsApplication1_Development

    Обратите внимание, что это с учетом регистра. Следующий вывод показан:

    CREATE DATABASE
  2. Создайте новую модель, щелкнув правой кнопкой мыши по проекту, выбрав « Generate», « model» из списка и указав имя « wish».
  3. Разверните » Database Migrations«, » migrate» и откройте » 001_create_wishes.rb«. Измените self.upвспомогательный метод «», как показано ниже:
    def self.up
    create_table :wishes do |t|
    t.column :greeting, :string
    end
    Wish.create :greeting => "Hello PostgreSQL!"

    end

    This instructs the Rails framework to a new table and populate it with three rows upon migration.

  4. Invoke db:migrate by right-clicking on the project, selecting «Run Rake Task«, «db» and then «migrate«. This creates the appropriate tables and populate the it with three rows as mentioned above.

Add Controller & View

  1. Right-click on project, select «Generate...«.
  2. Take the default value in list box, which is «controller«. Specify the value of «Name:» as «show» and value of «Views:» as «wishes«.
  3. Expand «Controllers» and open «show_controller.rb» and update the «wishes» helper method as shown below:
    def wishes
    @wish = Wish.find(1).greeting;
    end
  4. Разверните » Views«, » show«, » wishes.rhtml» и добавьте следующий фрагмент в качестве последней строки:
    <%= @wish %>

Запустить проект

Откройте «
wishes.rhtml» и нажмите
Shift+F6(по умолчанию нажатие клавиши для запуска файла). Выход отображается как:

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

Technorati: TOTD NetBeans рубин JRuby PostgreSQL окна