简而言之我正在写的是一个 XMPP 机器人,作用是帮助我去查看小说是否有更新 (从百度贴吧上找).
所以数据库我是这样想的,一个 users 存放用户信息,一个 fictions 存放小说的信息,一个 checked_lists 存放已经检索到的小说章节记录,一个 subscriptions 存放 user 和 fiction 的订阅关系。
但是如何保存这个用户的某本小说的进度呢?我是考虑在 subscriptions 表里面添加一列 foreign_key 来保存最后阅读的 checked_list 记录,那么就需要读取 subscriptions 表的信息 (这可怎么做啊)
下面是我的 model
class User < Sequel::Model
# create_table? :users do
# primary_key :id
# index :id
# String :account
# Fixnum :total_count, :default => 0
# end
many_to_many :fictions, :join_table => :subscriptions
end
class Fiction < Sequel::Model
# create_table? :fictions do
# primary_key :id
# index :id
# String :name
# String :url
# end
many_to_many :users, :join_table => :subscriptions
one_to_many :check_lists
end
class CheckList < Sequel::Model
# create_table? :check_lists do
# primary_key :id
# foreign_key :fiction_id, :fictions
# Time :created_at
# end
many_to_one :fiction
end
还有我中间表的 schema
create_table? :subscriptions do
primary_key :id
foreign_key :fiction_id, :fictions
foreign_key :user_id, :users
foreign_key :check_id, :check_lists
end