Estou com problemas para criar o banco de dados MYSQL

Olá pessoal, sou novo em Ruby on Rails, mas estou tentando criar um blog (COMO TESTE), estou usando o APTANA RadRails, quando eu dou o comando rake db:create, aparece a seguinte mensagem no console do APTANA:

rake db:create
(in C:/Users/Arthur Neto/My Documents/Aptana RadRails Workspace/meu_blog)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
126: N?o foi poss?vel encontrar o m?dulo especificado. - C:/Ruby19/lib/ruby/gems/1.9.1/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so

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

O que eu devo fazer?? Eu ja instalei o mysql como GEM (>gem install -l mysql-2.7.3-x86-mswin32.gem).

Beleza, vou tentar em outro forum, esqueci que este aqui é só de Java.
Valeu galerinha.

Ora, se não me engano este fórum é de Ruby on Rails, não?

Sds,
Almir.
http://zona8.com.br

Galactus, que versão do gem do Mysql vc está utilizando? Sei que infelizmente alguns gens de banco de dados estão com problemas no Windows. Preciso dar uma pesquisada, antes havia uma solução AD-HOC que era copiar umas .dll do Mysql para pasta do Ruby, não tenho certeza se isso está funcionando ainda. Passe corretamente o erro que está acontecendo que posso tentar lhe ajudar.

Vou dar uma olhada e te passo o erro, eu sei que é a ultima versão do banco de dados.

o forum é java, mas ja vem dando oportunidades a outras linguagens de programacao. No futuro acredito o GUJ ser referencia nao so mais em java, mas em todas as tecnologias ativas no mercado :D. Uma especie de pensou em tirar duvida, compartilhar etc. vai de guj antes do google .

abracos,

Concordo com o Camilo. Na minha opinião o Guj é o melhor fórum de Java que já tive oportunidade de participar, então pq não abrir espaço para outras linguagens? Ótima iniciativa(que não é tão nova assim kkk).
E só pra finalizar, vou comprar seu livro de SCJP, 0/, abraços.

Ei DEAD, está aqui a versão do mysql:
mysql-2.7.3-x86-mswin32

Vi na internet pessoas dizendo que a ultima versão do mysql no gem esta dando pau e aconselharam instalar a versão anterior.

Beleza Galactus, vou ver direito aqui. Só mais uma pergunta, tá usando que Windows? só pra saber mesmo.
Sua versão do Rails é 2.2 correto?

Primeiramente atualize seus gems(gem update --system).
Encontre sua instalação do Mysql(geralmente em C:\Arquivos de Programas\Mysql) e procure a pasta bin.
Procure por libMySQL.dll e copie.
Encontre a pasta do Ruby(geralmente em C:\ruby) o diretório bin(tbm kkk) e cole o dll lá.
Depois instale a nova gem do mysql(gem install mysql --no-rdoc --no-ri)

No terminal teste:

>rails teste
>cd teste
>ruby script/generate scaffold user login:string, password:string, email:string
>rake db:create
### o rails pode chiar falando alguma coisa do Rails 2.2 e do driver estar deprecated, tente pesquisar diretamente no mysql se o schema foi criado, com esse comando só deverá ser criado o banco de dev.
>rake db:migrate
>ruby script/server

Bem por motivos de pesquisa, estou passando minha gem list. Espero ter lhe ajudado em seu problemas. Testei eu mesmo em minha máquina aqui com Windows 7 e ta tudo pegando redondinho.

Minha gem list:
actionmailer (2.3.5)
actionpack(2.3.5)
activerecord(2.3.5)
activerecord-oracle-adapter(1.0.0.9250)
activeresource(2.3.5)
activesupport(2.3.5, 2.3.3)
cgi_multipart_eof_fix(2.5.0)
fastthread(1.0.1)
gem_plugin(0.2.3)
linecache(0.43)
mongrel(1.1.5)
mysql(2.8.1, 2.7.3)
rack(1.0.1)
rails(2.3.5)
rake(0.8.7)
rmagick(2.7.1)
ruby-debug-base(0.10.3)
ruby-debug-ide(0.4.5)
rubygems-update(1.3.6)
sqlite3-ruby(1.2.1)

Chegando em casa, vou fazer o que você orientou. Valeu DEAD, logo mais eu volto com notícias.

Olá DEAD, então velho, eu fiz exatamente do jeito que voce orientou, olha as mensagens que aparece na hora de criar o banco:

C:\Ruby19\teste>rake db:create
(in C:/Ruby19/teste)
rake aborted!
no such file to load -- sqlite3

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

C:\Ruby19\teste>rake db:migrate
(in C:/Ruby19/teste)
rake aborted!
no such file to load -- sqlite3

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

Galactus, mal meu cara. No comando rails teste, coloque: rails teste -d mysql.
Ou abra seu database.yml(na pasta config) e configure seu adapter para mysql.

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: teste_development
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

test:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: teste_test
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

production:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: teste_production
  pool: 5
  username: root
  password: 
  socket: /tmp/mysql.sock

Não se esqueça de colocar o password do mysql no campo de mesmo nome, se não infelizmente vc vai receber uma mensagem reclamando. Se seu user não tiver senha é só deixar em branco. Se estiver com outro usuário no mysql diferente de root é só configurar isso no campo username.
Agora acho que vai kkk.

Ei DEAD, acho que estou cagado cara, fiz tudo o que voce me falou, ele gerou esse database.yml aqui ó:

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
# gem install mysql
# On Mac OS X:
# sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
# On Mac OS X Leopard:
# sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
# This sets the ARCHFLAGS environment variable to your native architecture
# On Windows:
# gem install mysql
# Choose the win32 build.
# Install MySQL and put its /bin directory on your path.
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html

development:
	adapter: mysql
	encoding: utf8
	reconnect: false
	database: teste_development
	pool: 5
	username: root
	password: 123456 
	host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.

test:
	adapter: mysql
	encoding: utf8
	reconnect: false
	database: teste_test
	pool: 5
	username: root
	password: 123456 
	host: localhost

production:
	adapter: mysql
	encoding: utf8
	reconnect: false
	database: teste_production
	pool: 5
	username: root
	password: 123456  
	host: localhost

O username e a senha estão iguais como no mysql.
Olha so o que acontece:

C:\Ruby19\teste>ruby script/generate scaffold user login:string, password:string, email:string
C:/Ruby19/lib/ruby/1.9.1/yaml.rb:133:in `load': syntax error on line 31, col 9: `       adapter: mysql' (ArgumentError)
        from C:/Ruby19/lib/ruby/1.9.1/yaml.rb:133:in `load'
        from C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:902:in `database_configuration'
        from C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:437:in `initialize_database'
        from C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:141:in `process'
        from C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
        from C:/Ruby19/teste/config/environment.rb:9:in `<top (required)>'
        from C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/commands/generate.rb:1:in `require'
        from C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/commands/generate.rb:1:in `<top (required)>'
        from script/generate:3:in `require'
        from script/generate:3:in `<main>'

E depois isso:

C:\Ruby19\teste>rake db:create
(in C:/Ruby19/teste)
rake aborted!
syntax error on line 31, col 9: `       adapter: mysql'

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

Só para tirar uma duvida, eu estou usando o Windows 7.

Galactus, testa com o meu database.yml que eu passei, porém mude para seu username e sua senha, se paular me manda a stack ok? Relaxa, já tive amigos que tiveram problemas bem piores, mas por estar perto e conversarmos é mais fácil de achar a origem do erro.

Ei DEAD, muito obrigado por estar me ajudando, mas olha só o que apareceu agora:

C:\Ruby19\teste>ruby script/generate scaffold user login:string, password:string, email:string
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      exists  app/views/users
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      exists  test/unit/helpers/
      exists  public/stylesheets/
   identical  app/views/users/index.html.erb
   identical  app/views/users/show.html.erb
   identical  app/views/users/new.html.erb
   identical  app/views/users/edit.html.erb
   identical  app/views/layouts/users.html.erb
   identical  public/stylesheets/scaffold.css
   identical  app/controllers/users_controller.rb
   identical  test/functional/users_controller_test.rb
   identical  app/helpers/users_helper.rb
   identical  test/unit/helpers/users_helper_test.rb
       route  map.resources :users
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
   identical    app/models/user.rb
   identical    test/unit/user_test.rb
   identical    test/fixtures/users.yml
      exists    db/migrate
Another migration is already named create_users: db/migrate/20100517023549_create_users.rb

C:\Ruby19\teste>rake db:create
(in C:/Ruby19/teste)
<main>: [BUG] Segmentation fault
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]

-- control frame ----------
c:0001 p:0000 s:0002 b:0002 l:001dac d:001dac TOP
---------------------------
-- Ruby level backtrace information-----------------------------------------

[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

C:\Ruby19\teste>rake db:create
(in C:/Ruby19/teste)
teste_development already exists

C:\Ruby19\teste>rake db:migrate
(in C:/Ruby19/teste)
rake aborted!
Mysql::Error: query: not connected: CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB

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

Fiz o que voce me orientou em copiar a sua configuração do database.yml e substituir a minha que estava zuada.

Galactus, posso estar enganado mas pelo erro, tente criar o projeto desde o zero com aquele database.yml que te passei:

Achei estranho pacas esse seguinte erro:

# C:\Ruby19\teste&gt;rake db:create  
# (in C:/Ruby19/teste)  
# &lt;main&gt;: [BUG] Segmentation fault  
# ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]  
#   
# -- control frame ----------  
# c:0001 p:0000 s:0002 b:0002 l:001dac d:001dac TOP  
# ---------------------------  
# -- Ruby level backtrace information-----------------------------------------  
#   
# [NOTE]  
# You may encounter a bug of Ruby interpreter. Bug reports are welcome.  
# For details: http://www.ruby-lang.org/bugreport.html  
#   
#   
# This application has requested the Runtime to terminate it in an unusual way.  
# Please contact the application's support team for more information.  

Mas tudo bem, parece que por você ter criado o projeto e só ter mudado o database.yml e feito tudo novamente ele deu uma paulada. Acho que não fui muito claro nas minhas instruções passadas, mas tente fazer o processo novamente desde o início. Mude para aquele database.yml que te passei e tente criar o banco e rodar as migrations. Qualquer coisa tente entrar em contato comigo via Mensagens Privadas, posso pegar seu e-mail, se vc tiver skype tento te dar uma ajuda com shared screen, assim a coisa vai mais rápido, pq ta rolando uns erros estranhos na sua aplicação.
Abraço cara e continue estudando ruby…

Ei DEAD, eu copiei o database.ylm, exclui aquele teste antigo e criei outro, substitui o database.ylm que o ruby criou por aquele seu com meu login e senha do mysql. Aconteceu o mesmo erro, se liga velho:

Microsoft Windows [versão 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Todos os direitos reservados.

C:\Users\Arthur Neto>cd..

C:\Users>cd..

C:\>cd Ruby19

C:\Ruby19>rails teste
      create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  config/locales
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/performance
      create  test/unit
      create  vendor
      create  vendor/plugins
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  Rakefile
      create  README
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  config/database.yml
      create  config/routes.rb
      create  config/locales/en.yml
      create  db/seeds.rb
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_rails_defaults.rb
      create  config/initializers/session_store.rb
      create  config/environment.rb
      create  config/boot.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  script/about
      create  script/console
      create  script/dbconsole
      create  script/destroy
      create  script/generate
      create  script/runner
      create  script/server
      create  script/plugin
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  test/test_helper.rb
      create  test/performance/browsing_test.rb
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log

C:\Ruby19>cd teste

C:\Ruby19\teste>

C:\Ruby19\teste>ruby script/generate scaffold user login:string, password:string, email:string
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/users
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      create  test/unit/helpers/
      exists  public/stylesheets/
      create  app/views/users/index.html.erb
      create  app/views/users/show.html.erb
      create  app/views/users/new.html.erb
      create  app/views/users/edit.html.erb
      create  app/views/layouts/users.html.erb
      create  public/stylesheets/scaffold.css
      create  app/controllers/users_controller.rb
      create  test/functional/users_controller_test.rb
      create  app/helpers/users_helper.rb
      create  test/unit/helpers/users_helper_test.rb
       route  map.resources :users
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
      create    app/models/user.rb
      create    test/unit/user_test.rb
      create    test/fixtures/users.yml
      create    db/migrate
      create    db/migrate/20100517140851_create_users.rb

C:\Ruby19\teste>rake db:create
(in C:/Ruby19/teste)
teste_development already exists

C:\Ruby19\teste>rake db:migrate
(in C:/Ruby19/teste)
rake aborted!
Mysql::Error: query: not connected: CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB

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

C:\Ruby19\teste>

Ah, esqueci, meu e-mail é arthurnetoo@ig.com.br
Skype: arthur.maximus.neto

Valeu pela ajuda cara.

Ei DEAD, vou ficar sem o meu notebook até terça que vem, terça eu volto com noticias sobre essa questão. Na minha opnião, acho que é o mysql.