gitch

Форк
0
/
1726175805_collections_snapshot.go 
205 строк · 4.3 Кб
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:00:18.272Z",
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 21:00:34.979Z",
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
				"indexes": [],
140
				"listRule": null,
141
				"viewRule": null,
142
				"createRule": null,
143
				"updateRule": null,
144
				"deleteRule": null,
145
				"options": {}
146
			},
147
			{
148
				"id": "t9t4ngqknmzg2zw",
149
				"created": "2024-09-12 20:54:57.694Z",
150
				"updated": "2024-09-12 21:00:18.272Z",
151
				"name": "settings",
152
				"type": "base",
153
				"system": false,
154
				"schema": [
155
					{
156
						"system": false,
157
						"id": "fls8wlww",
158
						"name": "key",
159
						"type": "text",
160
						"required": true,
161
						"presentable": false,
162
						"unique": false,
163
						"options": {
164
							"min": null,
165
							"max": null,
166
							"pattern": ""
167
						}
168
					},
169
					{
170
						"system": false,
171
						"id": "vqstkr9u",
172
						"name": "value",
173
						"type": "text",
174
						"required": false,
175
						"presentable": false,
176
						"unique": false,
177
						"options": {
178
							"min": null,
179
							"max": null,
180
							"pattern": ""
181
						}
182
					}
183
				],
184
				"indexes": [
185
					"CREATE UNIQUE INDEX ` + "`" + `idx_fig8mm1` + "`" + ` ON ` + "`" + `settings` + "`" + ` (` + "`" + `key` + "`" + `)"
186
				],
187
				"listRule": null,
188
				"viewRule": null,
189
				"createRule": null,
190
				"updateRule": null,
191
				"deleteRule": null,
192
				"options": {}
193
			}
194
		]`
195

196
		collections := []*models.Collection{}
197
		if err := json.Unmarshal([]byte(jsonData), &collections); err != nil {
198
			return err
199
		}
200

201
		return daos.New(db).ImportCollections(collections, true, nil)
202
	}, func(db dbx.Builder) error {
203
		return nil
204
	})
205
}
206

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

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

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

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