2.电影信息维护 ( 命令行版 )

在第一部分的项目代码中，已经实现了在 json 文件中管理电影信息，并通过角色分级，限制电影的增删操作。

这次的代码在此课程基础上，将项目改为 workspace，并将存储电影的 json 文件改为了 sqlite 存储，用数据库进行增删改查，以及利用数据库进行角色判断，

具体代码部分由 db_services.rs 代替原本的 services.rs。里面包括对电影信息的增删改查操作和对用户角色的鉴别功能。

以及 sql_tools.rs 部分实现了数据库的初始化操作，在创建数据库时添加几条测试用的数据，以及将 json 文件读取转移到数据库的函数。

Copy
// db_tools.rs
// 将json文件中所有电影信息转移到数据库
fn json_save_to_db(conn: &Connection) -> Result<(), Box<dyn Error>> {
let movies = read_form_json()?;
for movie in movies {
conn.execute(
"INSERT INTO movies (disc, year, title, remark, user_id) VALUES (?1, ?2, ?3, ?4, ?5)",
(movie.disc, movie.year, movie.title, movie.remark, 1),
)?;
}
Ok(())
}

完整版代码可见github 仓库

目前初学 rust，感觉写的丑陋，以及 rust 关于 struct 的特性没有用上，后期还可以改的更好一些。