2013-07-10 18 views
7

Qualcuno ha utilizzato il framework delle vele del nodo utilizzando mysql come DB (https://github.com/balderdashy/sails-mysql)?datacipi dello schema sails-mysql

Sono bloccato nei modelli, non riesco a creare la struttura del database. I tipi di dati che devo utilizzare per creare lo schema non funzionano. Ho cercato ovunque della documentazione, ma non riesco a trovare nulla che possa aiutarmi.

La documentazione di Sail non è ancora completa, credo. http://sailsjs.org/#documentation/models

Qualcuno può aiutarmi nella creazione di modelli. Apprezzerei molto se tu potessi aiutarmi a creare il semplice schema sottostante usando sails-mysql. Grazie in anticipo!

module.exports = { 

    attributes: { 
     id: 'FLOAT', 
     social_network: { 
       type: 'ENUM', 
        defaultsTo : {'Facebook', 'twitter', 'vk','weibo'} 

       }, 
     country: 'STRING', 
     message: 'TEXT', 
     link: 'STRING', 
     comments: 'TEXT', 
     userid: 'INT', 
     username: 'STRING', 
     image_link: 'STRING', 
     longitude: 'FLOAT', 
     latitude: 'FLOAT', 
     location_name: 'STRING', 
     updated_at: 'TIMESTAMP', 
     created_at: 'TIMESTAMP' 
    } 
}; 

risposta

27

Io sono l'autore di Waterline, mi dispiace non si poteva trovare quello che ti serve nella documentazione, siamo costantemente lavorando per aggiungere a loro e tenerli aggiornati.

Sei molto vicino al tuo schema. La linea di galleggiamento attualmente non supporta un tipo di database ENUM ma abbiamo convalide che ti permetteranno di finire con lo stesso risultato finale.

module.exports = { 

    // Disables Automatic ID generation 
    // (allows you to use a FLOAT type for your ID) 
    autoPK: false, 

    // Disables Automatic Timestamps 
    // You will need to manually update your timestamps, usually best to leave this 
    // on and remove the updated_at and created_at attributes below to let Waterline 
    // keep these up to date for you 
    autoCreatedAt: false, 
    autoUpdatedAt: false, 

    attributes: { 
    id: { 
     type: 'FLOAT', 
     primaryKey: true 
    } 

    // Proper ENUM types at the Database level are not yet supported 
    // but you can use validations to achieve the same end result. 
    // You can also add a default social_network with defaultsTo 
    social_network: { 
     type: 'STRING', 
     in: ['facebook', 'twitter', 'vk', 'weibo'] 
    }, 
    country: 'STRING', 
    message: 'TEXT', 
    link: 'STRING', 
    comments: 'TEXT', 
    userid: 'INTEGER', 
    username: 'STRING', 
    image_link: 'STRING', 
    longitude: 'FLOAT', 
    latitude: 'FLOAT', 
    location_name: 'STRING', 

    // Timestamp is not supported but Time, Date, and DateTime are 
    updated_at: 'DATETIME', 
    created_at: 'DATETIME' 
    } 
}; 
+0

ho trovato che lo schema del database cambierà se cambi lo schema in vele, è vero? Eseguire il backup del database prima di connettersi con il database esistente. – windmaomao

+0

C'è un aggiornamento a questa risposta, o ancora non c'è ancora db nativo ENUM? – hamncheez

Problemi correlati