gitch

Форк
0
/
1726493877_collections_snapshot.go 
290 строк · 6.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 21:37:11.823Z",
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-16 13:06:40.854Z",
82
				"name": "projects",
83
				"type": "base",
84
				"system": false,
85
				"schema": [
86
					{
87
						"system": false,
88
						"id": "beduevxv",
89
						"name": "name",
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": "58lvf09w",
103
						"name": "from",
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": "1anftqzv",
117
						"name": "to",
118
						"type": "text",
119
						"required": false,
120
						"presentable": false,
121
						"unique": false,
122
						"options": {
123
							"min": null,
124
							"max": null,
125
							"pattern": ""
126
						}
127
					},
128
					{
129
						"system": false,
130
						"id": "25thpav4",
131
						"name": "enabled",
132
						"type": "bool",
133
						"required": false,
134
						"presentable": false,
135
						"unique": false,
136
						"options": {}
137
					},
138
					{
139
						"system": false,
140
						"id": "vagdzusl",
141
						"name": "service",
142
						"type": "relation",
143
						"required": false,
144
						"presentable": false,
145
						"unique": false,
146
						"options": {
147
							"collectionId": "t14vqfls0q3yiv2",
148
							"cascadeDelete": false,
149
							"minSelect": null,
150
							"maxSelect": 1,
151
							"displayFields": null
152
						}
153
					}
154
				],
155
				"indexes": [],
156
				"listRule": null,
157
				"viewRule": null,
158
				"createRule": null,
159
				"updateRule": null,
160
				"deleteRule": null,
161
				"options": {}
162
			},
163
			{
164
				"id": "t9t4ngqknmzg2zw",
165
				"created": "2024-09-12 20:54:57.694Z",
166
				"updated": "2024-09-12 21:37:11.824Z",
167
				"name": "settings",
168
				"type": "base",
169
				"system": false,
170
				"schema": [
171
					{
172
						"system": false,
173
						"id": "fls8wlww",
174
						"name": "key",
175
						"type": "text",
176
						"required": true,
177
						"presentable": false,
178
						"unique": false,
179
						"options": {
180
							"min": null,
181
							"max": null,
182
							"pattern": ""
183
						}
184
					},
185
					{
186
						"system": false,
187
						"id": "vqstkr9u",
188
						"name": "value",
189
						"type": "text",
190
						"required": false,
191
						"presentable": false,
192
						"unique": false,
193
						"options": {
194
							"min": null,
195
							"max": null,
196
							"pattern": ""
197
						}
198
					}
199
				],
200
				"indexes": [
201
					"CREATE UNIQUE INDEX ` + "`" + `idx_fig8mm1` + "`" + ` ON ` + "`" + `settings` + "`" + ` (` + "`" + `key` + "`" + `)"
202
				],
203
				"listRule": null,
204
				"viewRule": null,
205
				"createRule": null,
206
				"updateRule": null,
207
				"deleteRule": null,
208
				"options": {}
209
			},
210
			{
211
				"id": "t14vqfls0q3yiv2",
212
				"created": "2024-09-16 13:04:55.796Z",
213
				"updated": "2024-09-16 13:04:55.796Z",
214
				"name": "services",
215
				"type": "base",
216
				"system": false,
217
				"schema": [
218
					{
219
						"system": false,
220
						"id": "7dmnsdzh",
221
						"name": "name",
222
						"type": "text",
223
						"required": false,
224
						"presentable": false,
225
						"unique": false,
226
						"options": {
227
							"min": null,
228
							"max": null,
229
							"pattern": ""
230
						}
231
					},
232
					{
233
						"system": false,
234
						"id": "sxbwhuds",
235
						"name": "period",
236
						"type": "text",
237
						"required": false,
238
						"presentable": false,
239
						"unique": false,
240
						"options": {
241
							"min": null,
242
							"max": null,
243
							"pattern": ""
244
						}
245
					},
246
					{
247
						"system": false,
248
						"id": "bxbxk2aw",
249
						"name": "key",
250
						"type": "text",
251
						"required": false,
252
						"presentable": false,
253
						"unique": false,
254
						"options": {
255
							"min": null,
256
							"max": null,
257
							"pattern": ""
258
						}
259
					},
260
					{
261
						"system": false,
262
						"id": "vnfj39v8",
263
						"name": "enabled",
264
						"type": "bool",
265
						"required": false,
266
						"presentable": false,
267
						"unique": false,
268
						"options": {}
269
					}
270
				],
271
				"indexes": [],
272
				"listRule": null,
273
				"viewRule": null,
274
				"createRule": null,
275
				"updateRule": null,
276
				"deleteRule": null,
277
				"options": {}
278
			}
279
		]`
280

281
		collections := []*models.Collection{}
282
		if err := json.Unmarshal([]byte(jsonData), &collections); err != nil {
283
			return err
284
		}
285

286
		return daos.New(db).ImportCollections(collections, true, nil)
287
	}, func(db dbx.Builder) error {
288
		return nil
289
	})
290
}
291

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

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

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

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