根据模型生成数据库表
比如你在 hello_world 目录下创建一个新的模型book
。
models/book.mod.yao
jsonc
{
"name": "Book",
"table": {
"name": "book" //这个模型在数据库中关联的表名是`book`。
},
"columns": [
{
"name": "id",
"label": "ID",
"type": "ID"
},
{
"name": "title",
"label": "Title",
"type": "string",
"length": 256,
"index": true,
"nullable": true
},
{
"name": "author",
"label": "Author",
"type": "string",
"length": 256,
"index": true,
"nullable": true
},
{
"name": "publisher",
"label": "Publisher",
"type": "string",
"length": 256,
"index": true,
"nullable": true
}
]
}
模型保存后,需要执行一个 yao 命令,把模型转换成数据库中的表。打开控制台,执行以下的命令。
sh
# mysql
yao migrate -n book
# sqlite,需要加上--reset,
yao migrate -n book --reset
提示:reset 的作用是删除整个数据库表后再重新创建,不要在生产环境执行,会导致数据丢失。
成功后控制台会输出以下的内容。
sh
更新表结构 model: book (book) SUCCESS
上面命令的作用是把 Yao 模型定义转换成数据库表结构。如果模型对应的数据库表已经存在就更新,如果不存在创建新表。
后面如果对模型文档有变更,也需要手动执行命令才会把模型更新到数据库。
总结
Yao 命令也是 Yao 开发中的重要组成部分。