Skip to content

Instantly share code, notes, and snippets.

@shikajiro
Created August 4, 2012 16:58
Show Gist options
  • Save shikajiro/3258767 to your computer and use it in GitHub Desktop.
Save shikajiro/3258767 to your computer and use it in GitHub Desktop.
#ユーザーがユーザーにタグ付をするサービス
#ユーザーモデル
User = sequelize.define 'User'
id:
type: Sequelize.INTEGER
primaryKey: true
autoIncrement: true
socialId: Sequelize.TEXT # facebookなどの外部ソーシャルネットワークのID
name: Sequelize.STRING # 名前
iconPath: Sequelize.TEXT # ユーザーアイコンのURL
deviceToken: Sequelize.TEXT # notificationのトークン
#タグモデル
Tag = sequelize.define 'Tag'
id:
type: Sequelize.INTEGER
primaryKey: true
autoIncrement: true
text: Sequelize.TEXT # イベントメッセージ
#TODO タグ付したユーザー、タグ付されたユーザーの両方を知りたい。そんな複合テーブルが欲しい。
User.hasMany Tag
Tag.hasMany User
#これで多対多の関係が作れるけど、
#タグ付けしたユーザー(またはタグ付されたユーザー)しかわからない(´・ω・`)
#上記の構文で生成されるテーブル
#UsersTags
# user_id
# tag_id
# created_at
#理想とされるテーブル
#UsersTags
# from_user_id
# to_user_id
# tag_id
# created_at
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment