Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с миграцией (rake db:migration) 
:(
    Опции темы
maep
Дата 28.8.2008, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



Господа, тут решил продолжить изучение рельс, и рельсы ведут на путь миграций.
Соответственно задача: написать классы для миграции и поднять из них базу.
Делаю три таблички, сгенерив шаблоны командами generate migration <users>

Всего три файла: 001_users.rb, 002_visits.rb, 003_links.rb.
Названия такие дал им  generate.

Вот такие файлы:

Код

class Users < ActiveRecord::Migration
  def self.up
    create table users do |t|
      t.string :name, :limit => 250
      t.string :password, :limit => 100
      t.timestamps    
    end
  end


  def self.down
   drop_table :users
  end
end



Код

class Visits < ActiveRecord::Migration
  def self.up
    create_table :visits do |t|
    t.timestamp :stamp
    t.references :user
    end    
  end

  def self.down
    drop_table :visits
  end
end



Код

class Links < ActiveRecord::Migration
  def self.up
    create_table :links do |t|
      t.string  :url, :limit => 250
      t.timestamps
      t.references :user
    end
  end

  def self.down
   drop_table :links
  end
end



database.yml:
Код

development:
  adapter: mysql
  database: taut
  host: localhost    
  username: train2
  password: zaq

test:
  adapter: mysql
  database: taut_test
  host: localhost    
  username: root

production:
  adapter: mysql
  database: taut_prod
  host: localhost    
  username: root




запускаю rake db:migrate в каталоге проекта.
Что получается: на  базе taut создается только табличка links. Другие две базы остаются пустыми.

генерится файл schema.rb  следующего содержания:
Код


ActiveRecord::Schema.define(:version => 3) do

  create_table "links", :force => true do |t|
    t.string   "url",        :limit => 250
    t.datetime "created_at"
    t.datetime "updated_at"
  end

end



Я подозреваю, что проблема с версиями и префиксом имен файлов. Переименовал все в 003_*, получаю ошибку.

Скажите пожалуйста, где я неправ?

Спасибо...






Это сообщение отредактировал(а) maep - 28.8.2008, 06:51
PM MAIL   Вверх
source777
Дата 28.8.2008, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(maep @  28.8.2008,  06:51 Найти цитируемый пост)
Всего три файла: 001_users.rb, 002_visits.rb, 003_links.rb.
Названия такие дал им  generate.

не ври, generator лишь добавляет номер и расширение, а названия дал им именно ты, и прямо скажем они неудачные...

По поводу вопроса: где вывод команд 'rake db:migrate' и 'rake db:migrate VERSION=0' ?

Это сообщение отредактировал(а) source777 - 28.8.2008, 10:29


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
maep
Дата 28.8.2008, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



Странные глюки с форумом... теперь по теме:
Во-первых, что неудачного в названии users? генератор к нему прибавил 001_, именно это я и имел ввиду.

Кстати, заявления типа "не ври" - считаю довольно оскорбительными, особенно если они безосновательны.

Вот вывод команд:

 'rake db:migrate'  :

C:\...Rails-2.0-win\rails_apps\tuttest>rake db:migrate --trace
(in C:/install/InstantRails-2.0-win/rails_apps/tuttest)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== 3 Links: migrating =========================================================
-- create_table(:links)
   -> 0.1100s
== 3 Links: migrated (0.1100s) ================================================

** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump



 'rake db:migrate VERSION=0' 

C:\...Rails-2.0-win\rails_apps\tuttest>rake db:migrate VERSION=0
(in C:/install/InstantRails-2.0-win/rails_apps/tuttest)
== 2 Visits: reverting ==============================================
-- drop_table(:visits)
rake aborted!
Mysql::Error: #42S02Unknown table 'visits': DROP TABLE `visits`

(See full trace by running task with --trace)

C:\...Rails-2.0-win\rails_apps\tuttest>


Это сообщение отредактировал(а) maep - 28.8.2008, 11:13
PM MAIL   Вверх
source777
Дата 28.8.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(maep @  28.8.2008,  11:12 Найти цитируемый пост)
генератор к нему прибавил 001_, именно это я и имел ввиду.
Мало ли что ты имел в виду, я твои мысли не читаю, а вот то что ты написал было враньём, и пока ты это не признаешь, не вижу смысла продолжать тебе помогать...

Цитата(maep @  28.8.2008,  11:12 Найти цитируемый пост)
Во-первых, что неудачного в названии users?
Конечно, очень удачное название, давай теперь и модель с контроллером так же назовём... есть определённые соглашения об именовании в Rails и не следовать им без веского на то основания глупо!



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
maep
Дата 29.8.2008, 04:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



source777,
у тебя ко мне личная неприязнь, или ты просто дурак, который хамит незнакомым людям просто так? 
У психиатра давно был, крутой рельсовик?

PM MAIL   Вверх
source777
Дата 29.8.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



2maep Хамишь тут только ты, видимо тебе правда глаза колет...

P.S. Учись признавать свои ошибки, иначе тебе вообще никто помогать не будет!

Это сообщение отредактировал(а) source777 - 29.8.2008, 10:25


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
maep
Дата 29.8.2008, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



source777 ты врешь. Хамил тут ты. А  про ошибки: название файлам дал сцуко генератор, это факт. Он их сгенерил и назвал, исходя из параметра, который я ему отправил, и своих соображений. Так что это ТВОЯ ошибка, сказать, что я ВРУ. Кстати, проблему мне сразу помогли решить ребята, которые разбираются в теме, а не к словам цепляются. Так что вопрос более не актуален.

Актуален другой вопрос, а именно "почему юзер source777, вместо помощи или молчания, тут же начинает орать автору вопроса что он ВРЕТ, будто бы мы в милиции  и я клевещу на оного source777, будто бы он украл у меня замшевую куртку импортную. Две." 
Может, source777 не догадывается, что, сказав незнакомому человеку, который не сделал ему лично НИЧЕГО плохого, а также никому из своих знакомых, что он ВРЕТ - грубая ошибка?


З.Ы.
Пока не признаешься что это вранье - не вижу смысла тебе помогать.
А помощь тебе нужна, ты с людями общаться не умеешь. И не воспитан.

З.Ы.Ы.

Тебя не Митей зовут случайно?

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.1175 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.