2017-02-28 1 views
0

Waterline supports indexing out of the box, leider nicht für irgendeinen Adapter.Was ist der beste Weg, Indizes in MySQL-Datenbanktabellen mit SailsJS zu setzen?

sails-mysql Adapter scheint es nicht zu unterstützen.

Zum Beispiel in einem Modell folgendes Feld, einen Fehler machen:

user: { 
    model: 'user', 
    index: true 
} 

Error: The attribute user on the topic model contains invalid properties. The property index isn't a recognized property.

Die Frage ist, ob Adapter nicht Indizierung unterstützt, was ist die beste Art und Weise, in SailsJS zu tun?

Ich verwende:

{ 
    "sails": "^1.0.0-27", 
    "sails-mysql": "^1.0.0-7", 
    "waterline": "v0.13.0-rc4" 
} 
+0

Wie erstellen Sie Tabellen in Ihrer Datenbank? Mit Segel Migration oder SQL oder etwas anderes? – Sangharsh

+1

Verwenden des Schemas der Wasserlinie. Ich habe schon ein Problem gefunden und einen PR gemacht https://github.com/balderdashy/waterline-schema/pull/80 – mrded

Antwort

3

Nach Reverse Engineering von sails-mysql, waterline-schema und waterline Module, fand ich nicht dokumentierte Möglichkeit Indizes innerhalb autoMigrations Eigenschaft festzulegen. Wie folgt:

foo: { 
    type: 'number' 
    autoMigrations: { index: true } 
} 
+1

Interessanter Fund, ich persönlich komme nur auf native Ansätze zurück, wenn es um solche Fälle geht. Also ein Service mit einer createTable-Methode, die die Tabelle und Indizes gleichzeitig mit mysql @ npm erzeugt. –

Verwandte Themen