RoR em GlassFish com Derby como banco de dados
Posted on December 18, 2006
Do Ashish’s Weblog : No meu artigo anterior escrevi sobre colocar uma aplicação RoR para rodar no GlassFish como servidor web. Como Derby vem embutido no GlassFish, por que não tentar usá-lo como o banco de dados para a aplicação RoR?
Colocar uma aplicação RoR para rodar com o banco de dados Derby deve ser relativamente simples. Bem, de fato é, mas só depois de pular alguns obstáculos tentando descobrir as coisas da primeira vez.
- Modifique config/database.yml para algo como:
- Crie tabela(s) no Derby. Pontos importante são:
- Use caixa alta para todos os nomes de tabelas e colunas
- Para criar uma coluna identidade auto-incrementável use o seguinte comando SQL:
adapter: jdbc
driver: org.apache.derby.jdbc.ClientDriver
url: jdbc:derby://${database host}:${database port}/${database name}
username: ${username}
password: ${password}
Derby tem um conceito de ‘nome de banco de dados’ e ‘schema’. Se ‘schema’ não é especificado ele usa o ‘username’ como padrão.
ID INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
${other-columns-and-constraints} )
Não tenho certeza qual o padrão SQL para tipos de colunas auto-incrementáveis mas isso foi um pouco doloroso para descobrir. Também se lembre que ‘DESC’ é uma palavra reservada na terminologia SQL, portanto não use isso como nome de nenhuma coluna.
O driver jdbc do Derby deve estar no classpath por padrão do GlassFish então não deve ser necessário nenhuma modificação para isso. Entretanto, se estive rodando a aplicação RoR a partir do combo JRuby/WEBrick precisará adicionar a biblioteca derby-jdbc-driver ao classpath.
Isso deve ser tudo sobre isso. Tente!
blog comments powered by Disqus
Archives
- February 12(2)
- December 11(1)
- November 11(4)
- October 11(6)
- September 11(5)
- August 11(1)
- July 11(5)
- May 11(4)
- April 11(11)
- March 11(4)
- February 11(3)
- January 11(4)
- December 10(9)
- November 10(2)
- October 10(10)
- September 10(4)
- August 10(6)
- July 10(14)
- June 10(16)
- May 10(8)
- April 10(14)
- March 10(9)
- February 10(6)
- January 10(14)
- December 09(10)
- November 09(10)
- October 09(7)
- September 09(19)
- August 09(4)
- July 09(12)
- June 09(7)
- May 09(12)
- April 09(11)
- March 09(9)
- February 09(9)
- January 09(12)
- December 08(14)
- November 08(20)
- October 08(15)
- September 08(18)
- August 08(25)
- July 08(13)
- June 08(21)
- May 08(29)
- April 08(27)
- March 08(12)
- February 08(32)
- January 08(31)
- December 07(27)
- November 07(30)
- October 07(25)
- September 07(28)
- August 07(16)
- July 07(15)
- June 07(16)
- May 07(7)
- April 07(13)
- March 07(8)
- February 07(9)
- January 07(24)
- December 06(17)
- November 06(17)
- October 06(15)
- September 06(38)




