Estou com problemas para criar o banco de dados MYSQL
19 respostas
GALACTUS
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).
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.
GALACTUS
Vou dar uma olhada e te passo o erro, eu sei que é a ultima versão do banco de dados.
LPJava
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,
DEAD
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.
GALACTUS
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.
DEAD
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?
DEAD
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)
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.
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.
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.
GALACTUS
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.htmldevelopment:adapter:mysqlencoding:utf8reconnect:falsedatabase:teste_developmentpool:5username:rootpassword:123456host: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:mysqlencoding:utf8reconnect:falsedatabase:teste_testpool:5username:rootpassword:123456host:localhostproduction:adapter:mysqlencoding:utf8reconnect:falsedatabase:teste_productionpool:5username:rootpassword:123456host:localhost
O username e a senha estão iguais como no mysql.
Olha so o que acontece:
C:\Ruby19\teste>rubyscript/generatescaffolduserlogin:string,password:string,email:stringC:/Ruby19/lib/ruby/1.9.1/yaml.rb:133:in`load': syntax error on line 31, col 9: ` adapter: mysql'(ArgumentError)fromC:/Ruby19/lib/ruby/1.9.1/yaml.rb:133:in`load'fromC:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:902:in`database_configuration'fromC:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:437:in`initialize_database'fromC:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:141:in`process'fromC:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/initializer.rb:113:in`run'fromC:/Ruby19/teste/config/environment.rb:9:in`<top(required)>'fromC:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/commands/generate.rb:1:in`require'fromC:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/commands/generate.rb:1:in`<top(required)>'fromscript/generate:3:in`require'fromscript/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.
DEAD
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.
GALACTUS
Ei DEAD, muito obrigado por estar me ajudando, mas olha só o que apareceu agora:
C:\Ruby19\teste>rubyscript/generatescaffolduserlogin:string,password:string,email:stringexistsapp/models/existsapp/controllers/existsapp/helpers/existsapp/views/usersexistsapp/views/layouts/existstest/functional/existstest/unit/existstest/unit/helpers/existspublic/stylesheets/identicalapp/views/users/index.html.erbidenticalapp/views/users/show.html.erbidenticalapp/views/users/new.html.erbidenticalapp/views/users/edit.html.erbidenticalapp/views/layouts/users.html.erbidenticalpublic/stylesheets/scaffold.cssidenticalapp/controllers/users_controller.rbidenticaltest/functional/users_controller_test.rbidenticalapp/helpers/users_helper.rbidenticaltest/unit/helpers/users_helper_test.rbroutemap.resources:usersdependencymodelexistsapp/models/existstest/unit/existstest/fixtures/identicalapp/models/user.rbidenticaltest/unit/user_test.rbidenticaltest/fixtures/users.ymlexistsdb/migrateAnothermigrationisalreadynamedcreate_users:db/migrate/20100517023549_create_users.rbC:\Ruby19\teste>rakedb:create(inC:/Ruby19/teste)<main>:[BUG]Segmentationfaultruby1.9.1p378(2010-01-10revision26273)[i386-mingw32]--controlframe----------c:0001p:0000s:0002b:0002l:001dacd:001dacTOP-----------------------------Rubylevelbacktraceinformation-----------------------------------------[NOTE]YoumayencounterabugofRubyinterpreter.Bugreportsarewelcome.Fordetails:http://www.ruby-lang.org/bugreport.htmlThisapplicationhasrequestedtheRuntimetoterminateitinanunusualway.Pleasecontacttheapplication's support team for more information.C:\Ruby19\teste>rakedb:create(inC:/Ruby19/teste)teste_developmentalreadyexistsC:\Ruby19\teste>rakedb:migrate(inC:/Ruby19/teste)rakeaborted!Mysql::Error:query:notconnected:CREATETABLE`schema_migrations`(`version`varchar(255)NOTNULL)ENGINE=InnoDB(Seefulltracebyrunningtaskwith--trace)
Fiz o que voce me orientou em copiar a sua configuração do database.yml e substituir a minha que estava zuada.
DEAD
Galactus, posso estar enganado mas pelo erro, tente criar o projeto desde o zero com aquele database.yml que te passei:
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…
GALACTUS
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: