7

有人使用 mysql 作为 DB ( https://github.com/balderdashy/sails-mysql ) 使用节点的sails 框架吗?

我被困在模型中,无法创建数据库结构。我需要用于创建架构的数据类型不起作用。我到处搜索了一些文档,但找不到任何可以帮助我的东西。

我猜,Sail 的文档还没有完成。 http://sailsjs.org/#documentation/models

谁能帮我创建模型。如果您能帮助我使用sails-mysql 创建下面的简单模式,我将不胜感激。提前致谢!

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'
    }
};
4

1 回答 1

27

我是 Waterline 的作者,很抱歉您在文档中找不到您需要的内容,我们一直在努力添加它们并使其保持最新状态。

您非常接近您的架构。Waterline 目前不支持数据库级别的ENUM类型,但我们有验证可以让您得到相同的最终结果。

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'
  }
};
于 2013-07-31T17:01:35.570 回答