71 lines
914 B
Markdown
71 lines
914 B
Markdown
|
# ORM
|
||
|
|
||
|
## Attributes
|
||
|
|
||
|
### Fields
|
||
|
|
||
|
- `[primary]` set the field as the primary key
|
||
|
- `[nonull]` field will be `NOT NULL` in table creation
|
||
|
- `[skip]` field will be skipped
|
||
|
- `[sql: type]` sets the type which is used in sql (special type `serial`)
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```v ignore
|
||
|
struct Foo {
|
||
|
id int [primary; sql: serial]
|
||
|
name string [nonull]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Create
|
||
|
|
||
|
```v ignore
|
||
|
sql db {
|
||
|
create table Foo
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Insert
|
||
|
|
||
|
```v ignore
|
||
|
var := Foo{
|
||
|
name: 'abc'
|
||
|
}
|
||
|
|
||
|
sql db {
|
||
|
insert var into Foo
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Update
|
||
|
|
||
|
```v ignore
|
||
|
sql db {
|
||
|
update Foo set name = 'cde' where name == 'abc'
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Delete
|
||
|
```v ignore
|
||
|
sql db {
|
||
|
delete from Foo where id > 10
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Select
|
||
|
```v ignore
|
||
|
result := sql db {
|
||
|
select from Foo where id == 1
|
||
|
}
|
||
|
```
|
||
|
```v ignore
|
||
|
result := sql db {
|
||
|
select from Foo where id > 1 limit 5
|
||
|
}
|
||
|
```
|
||
|
```v ignore
|
||
|
result := sql db {
|
||
|
select from Foo where id > 1 order by id
|
||
|
}
|
||
|
```
|