使用Soda工具操作数据库

290 阅读1分钟

下载配置SODA

  1. 下载Soda:gobuffalo.io/documentati…
  2. configure database:gobuffalo.io/documentati…
    • 在项目跟文件夹创建database.yml文件,进行configuration,此文件不需要上传GitHub。
      
    • 创建一个database.yml.example,内容与database.yml基本一样,隐去账户密码,上传GitHub
      

创建table

  1. 使用soda generate fizz CreateUserTable创建up.fizz与down.fizz两个文件。
    • up用于操作database
    • down用于reverse database
    • 使用soda migrate up/down可运行
  2. 在up.fizz中create table。
create_table("users") {
t.Column("id", "integer", {primary: true}) //primary key设置为truet.Column("first_name", "string", {"default":""})
  t.Column("last_name", "string", {"default":""})
  t.Column("email", "string", {})
  t.Column("password", "string", {"size": 60})//size为60因为密码的hash固定长度为60
  t.Column("access_level", "integer", {"default": 1}
}
  1. 在root目录下输入soda migrate检查是否成功

截屏2022-07-12 下午5.54.08.png

  1. 在down file中输入drop_table("users")时期可以reverse创建
  2. 重复以上步骤1-4创建其他table

设置Foreign Key(依赖)

  1. 首先新建文件:soda generate fizz 文件名
  2. 在up文件中:add_foreign_key("需要设置依赖的文件名", "需要设置依赖的字段", {"被依赖的文件名": ["被依赖的字段"]}, { "on_delete": "cascade", "on_update": "cascade", })

删除Foreign Key(依赖)

在down文件中:drop_foreign_key("需要删除依赖的文件名", "需要删除的依赖的名称(去DBeaver里的目标文件下的依赖中查看)", {})

设置constraint约束

设置index索引