# pass_salt :string
# email_valid :boolean default(FALSE), not null
# new_email :string
-# creation_ip :string
# languages :string
# status :enum default("pending"), not null
# terms_agreed :datetime
# tou_agreed :datetime
# diary_comments_count :integer default(0)
# note_comments_count :integer default(0)
+# creation_address :inet
#
# Indexes
#
+# index_users_on_creation_address (creation_address) USING gist
# users_auth_idx (auth_provider,auth_uid) UNIQUE
# users_display_name_canonical_idx (lower(NORMALIZE(display_name, NFKC)))
# users_display_name_idx (display_name) UNIQUE
has_and_belongs_to_many :changeset_subscriptions, :class_name => "Changeset", :join_table => "changesets_subscribers", :foreign_key => "subscriber_id"
has_many :note_comments, :foreign_key => :author_id, :inverse_of => :author
has_many :notes, :through => :note_comments
+ has_many :note_subscriptions, :class_name => "NoteSubscription"
+ has_many :subscribed_notes, :through => :note_subscriptions, :source => :note
has_many :oauth2_applications, :class_name => Doorkeeper.config.application_model.name, :as => :owner
has_many :access_grants, :class_name => Doorkeeper.config.access_grant_model.name, :foreign_key => :resource_owner_id