Ouverture de session

Commentaires récents

Syndication
Flux XML

Problème de parametre SQL server

Problème de parametre SQL server
Posté par Macar le Vendredi, 9 Mai, 2008 - 4:13pm. Débuter avec Rails

Bonjour à tous ^^,

Voila, je suis en train d'apprendre à développer avec RoR.
Pour l'instant je rame pas mal ^^.
Un problème que je n'arrive pas à résoudre pour les migrations, voici mon code :
___________________________________________________
class CreateProducts < ActiveRecord::Migration
def self.up
create_table :products, :id => false do |t|

t.column :title, :char, :limit => 100, :null => false
t.column :description, :char
t.column :image_url, :char
end
end

def self.down
drop_table :products
end
end
______________________________________________________

Pour le type, je suis obligé de mettre les types "SQL server", le :string ne marchant pas par exemple.
Mon problème est le :limit, le parametre ne "passe pas" et les champs se retrouve avec un 1 en taille max !!

Si une bonne âme povait éclairer ma lanterne ^^.

Merci d'avance,

Macar



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
Bonjour,
Auteur: 
epijulien
Date: 
Dim, 11/05/2008 - 16:20

Bonjour,

Voici les types "classiques" pour les migrations ROR:

:integer
:float
:datetime
:date
:timestamp
:time
:text
:string
:binary
:boolean

:string correspond a un varchar, donc semble le mieux adapte a un titre.(de plus,je sais pas si on declarer du char(xxx)avec activerecord).

"Pour le type, je suis obligé de mettre les types "SQL server", le :string ne marchant pas par exemple."
=>Tu veux dire que l'active record n'arrive pas a creer un varchar a partir de :string? Cela meparait vraiment etrange. Mais ce que tu semble vouloir obtenir s'obtient avec :string, c'est a dire un varchar(XXX).
(verifie la difference entre char(xxx)et varchar(XXX) dans la foulee ;-)


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
Merci du message ^^,Si je
Auteur: 
Macar
Date: 
Lun, 12/05/2008 - 09:22

Merci du message ^^,
Si je remplace :char par :string, voila ce que me sort la console :
____________________________________________________________________
E:\Station\demo>rake db:migrate
(in E:/Station/demo)
== 1 CreateProducts: migrating ================================================
-- create_table(:products, {:id=>false})
rake aborted!
DBI::DatabaseError: Execute
OLE error code:80040E14 in Microsoft OLE DB Provider pour SQL Server
Colonne ou paramÞtre #1 : Impossible de trouver le type de donnÚes string.
HRESULT error code:0x80020009
Une exception s'est produite.: CREATE TABLE products ([title] string NOT NULL, [description] string DEFAULT NULL, [image_url] string DEFAULT NUL
L)

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

E:\Station\demo>
_________________________________________________________________

Apparemment active record ne "transpose" pas le :string en format compréhensible pour SQL server, pourtant mon database.yml est bien configuré (je pense ^^).
Mon plus gros souci est surtout que je n'arrive pas à définir les limites de taille pour mes champs ^^.
J'ai également essayé de mettre :varchar(100), mais il n'arrive pas à l'interprété !!

Si tu as une autre idée ^^
Merci d'avance du coup de main :p


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
En effet, ca ne devrait pas
Auteur: 
epijulien
Date: 
Mar, 13/05/2008 - 13:50

En effet, ca ne devrait pas passer avec varchar... l'actice record ne connait que :string (a confirmer). Peux tu mettre le code de ta migration qui a cause le message d'erreur au dessus? Ca sera plus simple pour trouver une solution propre a ton probleme.


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
Voici le code
Auteur: 
Macar
Date: 
Mer, 14/05/2008 - 17:46

Voici le code :
_______________________
class CreateProducts < ActiveRecord::Migration
def self.up
create_table :products, :id => false do |t|

t.column :title, :string, :limit => 100, :null => false
t.column :description, :string
t.column :image_url, :string
end
end

def self.down
drop_table :products
end
end


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
37%
Mac OS X
29%
Windows
31%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 347

Qui est en ligne
Il y a actuellement 1 utilisateur et 34 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]