下载配置SODA
- 下载Soda:gobuffalo.io/documentati…
- configure database:gobuffalo.io/documentati…
-
在项目跟文件夹创建database.yml文件,进行configuration,此文件不需要上传GitHub。 -
创建一个database.yml.example,内容与database.yml基本一样,隐去账户密码,上传GitHub
-
创建table
- 使用
soda generate fizz CreateUserTable创建up.fizz与down.fizz两个文件。- up用于操作database
- down用于reverse database
- 使用soda migrate up/down可运行
- 在up.fizz中create table。
create_table("users") {
t.Column("id", "integer", {primary: true}) //primary key设置为true,
t.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}
}
- 在root目录下输入soda migrate检查是否成功
- 在down file中输入drop_table("users")时期可以reverse创建
- 重复以上步骤1-4创建其他table
设置Foreign Key(依赖)
- 首先新建文件:soda generate fizz 文件名
- 在up文件中:add_foreign_key("需要设置依赖的文件名", "需要设置依赖的字段", {"被依赖的文件名": ["被依赖的字段"]}, { "on_delete": "cascade", "on_update": "cascade", })
删除Foreign Key(依赖)
在down文件中:drop_foreign_key("需要删除依赖的文件名", "需要删除的依赖的名称(去DBeaver里的目标文件下的依赖中查看)", {})