gitch

Форк
0
/
1726174530_collections_snapshot.go 
191 строка · 4.0 Кб
1
package migrations
2

3
import (
4
	"encoding/json"
5

6
	"github.com/pocketbase/dbx"
7
	"github.com/pocketbase/pocketbase/daos"
8
	m "github.com/pocketbase/pocketbase/migrations"
9
	"github.com/pocketbase/pocketbase/models"
10
)
11

12
func init() {
13
	m.Register(func(db dbx.Builder) error {
14
		jsonData := `[
15
			{
16
				"id": "_pb_users_auth_",
17
				"created": "2024-09-12 20:52:11.896Z",
18
				"updated": "2024-09-12 20:52:11.897Z",
19
				"name": "users",
20
				"type": "auth",
21
				"system": false,
22
				"schema": [
23
					{
24
						"system": false,
25
						"id": "users_name",
26
						"name": "name",
27
						"type": "text",
28
						"required": false,
29
						"presentable": false,
30
						"unique": false,
31
						"options": {
32
							"min": null,
33
							"max": null,
34
							"pattern": ""
35
						}
36
					},
37
					{
38
						"system": false,
39
						"id": "users_avatar",
40
						"name": "avatar",
41
						"type": "file",
42
						"required": false,
43
						"presentable": false,
44
						"unique": false,
45
						"options": {
46
							"mimeTypes": [
47
								"image/jpeg",
48
								"image/png",
49
								"image/svg+xml",
50
								"image/gif",
51
								"image/webp"
52
							],
53
							"thumbs": null,
54
							"maxSelect": 1,
55
							"maxSize": 5242880,
56
							"protected": false
57
						}
58
					}
59
				],
60
				"indexes": [],
61
				"listRule": "id = @request.auth.id",
62
				"viewRule": "id = @request.auth.id",
63
				"createRule": "",
64
				"updateRule": "id = @request.auth.id",
65
				"deleteRule": "id = @request.auth.id",
66
				"options": {
67
					"allowEmailAuth": true,
68
					"allowOAuth2Auth": true,
69
					"allowUsernameAuth": true,
70
					"exceptEmailDomains": null,
71
					"manageRule": null,
72
					"minPasswordLength": 8,
73
					"onlyEmailDomains": null,
74
					"onlyVerified": false,
75
					"requireEmail": false
76
				}
77
			},
78
			{
79
				"id": "igxbyc464ycs1s7",
80
				"created": "2024-09-12 20:53:56.741Z",
81
				"updated": "2024-09-12 20:53:56.741Z",
82
				"name": "projects",
83
				"type": "base",
84
				"system": false,
85
				"schema": [
86
					{
87
						"system": false,
88
						"id": "58lvf09w",
89
						"name": "from",
90
						"type": "text",
91
						"required": false,
92
						"presentable": false,
93
						"unique": false,
94
						"options": {
95
							"min": null,
96
							"max": null,
97
							"pattern": ""
98
						}
99
					},
100
					{
101
						"system": false,
102
						"id": "1anftqzv",
103
						"name": "to",
104
						"type": "text",
105
						"required": false,
106
						"presentable": false,
107
						"unique": false,
108
						"options": {
109
							"min": null,
110
							"max": null,
111
							"pattern": ""
112
						}
113
					},
114
					{
115
						"system": false,
116
						"id": "25thpav4",
117
						"name": "enabled",
118
						"type": "bool",
119
						"required": false,
120
						"presentable": false,
121
						"unique": false,
122
						"options": {}
123
					}
124
				],
125
				"indexes": [],
126
				"listRule": null,
127
				"viewRule": null,
128
				"createRule": null,
129
				"updateRule": null,
130
				"deleteRule": null,
131
				"options": {}
132
			},
133
			{
134
				"id": "t9t4ngqknmzg2zw",
135
				"created": "2024-09-12 20:54:57.694Z",
136
				"updated": "2024-09-12 20:54:57.694Z",
137
				"name": "settings",
138
				"type": "base",
139
				"system": false,
140
				"schema": [
141
					{
142
						"system": false,
143
						"id": "fls8wlww",
144
						"name": "key",
145
						"type": "text",
146
						"required": true,
147
						"presentable": false,
148
						"unique": false,
149
						"options": {
150
							"min": null,
151
							"max": null,
152
							"pattern": ""
153
						}
154
					},
155
					{
156
						"system": false,
157
						"id": "vqstkr9u",
158
						"name": "value",
159
						"type": "text",
160
						"required": false,
161
						"presentable": false,
162
						"unique": false,
163
						"options": {
164
							"min": null,
165
							"max": null,
166
							"pattern": ""
167
						}
168
					}
169
				],
170
				"indexes": [
171
					"CREATE UNIQUE INDEX ` + "`" + `idx_fig8mm1` + "`" + ` ON ` + "`" + `settings` + "`" + ` (` + "`" + `key` + "`" + `)"
172
				],
173
				"listRule": null,
174
				"viewRule": null,
175
				"createRule": null,
176
				"updateRule": null,
177
				"deleteRule": null,
178
				"options": {}
179
			}
180
		]`
181

182
		collections := []*models.Collection{}
183
		if err := json.Unmarshal([]byte(jsonData), &collections); err != nil {
184
			return err
185
		}
186

187
		return daos.New(db).ImportCollections(collections, true, nil)
188
	}, func(db dbx.Builder) error {
189
		return nil
190
	})
191
}
192

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.