Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 781a68f

Browse files
committed
Add faunadb migrations using fauna-schema-migrate
1 parent 1b5da9c commit 781a68f

File tree

54 files changed

+1368
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1368
-15
lines changed

.fauna-migrate.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = {
2+
directories: {
3+
root: 'fauna',
4+
resources: 'resources',
5+
migrations: 'migrations',
6+
children: 'dbs',
7+
temp: 'temp',
8+
},
9+
collection: 'migrations',
10+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "accounts"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "goal_participants"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "goal_updates"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "goals"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "sessions"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "update_comments"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "update_likes"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "user_followers"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "users"
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CreateCollection({
2+
name: "verification_requests"
3+
})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CreateIndex({
2+
name: "account_by_provider_account_id",
3+
source: Collection("accounts"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "providerId"]
7+
}, {
8+
field: ["data", "providerAccountId"]
9+
}]
10+
})
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CreateIndex({
2+
name: "all_comments_by_update",
3+
source: Collection("update_comments"),
4+
terms: [{
5+
field: ["data", "update"]
6+
}]
7+
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CreateIndex({
2+
name: "all_goals_by_participant",
3+
source: Collection("goal_participants"),
4+
unique: false,
5+
terms: [{
6+
field: ["data", "participant"]
7+
}]
8+
})
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CreateIndex({
2+
name: "all_likes_by_update",
3+
source: Collection("update_likes"),
4+
terms: [{
5+
field: ["data", "update"]
6+
}]
7+
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CreateIndex({
2+
name: "all_participants_by_goal",
3+
source: Collection("goal_participants"),
4+
unique: false,
5+
terms: [{
6+
field: ["data", "goal"]
7+
}]
8+
})
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
CreateIndex({
2+
name: "all_recent_updates",
3+
source: Collection("goal_updates"),
4+
unique: false,
5+
values: [{
6+
field: ["data", "timestamps", "updatedAt"],
7+
reverse: true
8+
}, {
9+
field: ["ref"]
10+
}]
11+
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CreateIndex({
2+
name: "all_updates_by_goal",
3+
source: Collection("goal_updates"),
4+
unique: false,
5+
terms: [{
6+
field: ["data", "goal"]
7+
}]
8+
})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CreateIndex({
2+
name: "all_updates_by_goal_and_participant",
3+
source: Collection("goal_updates"),
4+
unique: false,
5+
terms: [{
6+
field: ["data", "goal"]
7+
}, {
8+
field: ["data", "postedBy"]
9+
}]
10+
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CreateIndex({
2+
name: "session_by_token",
3+
source: Collection("sessions"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "sessionToken"]
7+
}]
8+
})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CreateIndex({
2+
name: "unique_goal_and_participant",
3+
source: Collection("goal_participants"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "goal"]
7+
}, {
8+
field: ["data", "participant"]
9+
}]
10+
})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CreateIndex({
2+
name: "unique_update_user_like",
3+
source: Collection("update_likes"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "update"]
7+
}, {
8+
field: ["data", "user"]
9+
}]
10+
})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CreateIndex({
2+
name: "unique_user_and_follower",
3+
source: Collection("user_followers"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "user"]
7+
}, {
8+
field: ["data", "follower"]
9+
}]
10+
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CreateIndex({
2+
name: "user_by_email",
3+
source: Collection("users"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "email"]
7+
}]
8+
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CreateIndex({
2+
name: "user_by_username",
3+
source: Collection("users"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "username"]
7+
}]
8+
})
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CreateIndex({
2+
name: "verification_request_by_token",
3+
source: Collection("verification_requests"),
4+
unique: true,
5+
terms: [{
6+
field: ["data", "token"]
7+
}]
8+
})
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CreateCollection({
2+
name: 'accounts'
3+
})
4+
5+
/**
6+
# "data": {
7+
# "userId": String,
8+
# "providerId": String ("github"),
9+
# "providerType": "oauth",
10+
# "providerAccountId": Number,
11+
# "accessToken": String,
12+
# "createdAt": Time,
13+
# "updatedAt": Time
14+
# }
15+
**/
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CreateCollection({
2+
name: 'goal_participants'
3+
})
4+
5+
/**
6+
# data {
7+
# goal: Goal
8+
# participant: User
9+
# timestamps {
10+
# createdAt: Time
11+
# updatedAt: Time
12+
# }
13+
# }
14+
**/
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CreateCollection({
2+
name: 'goal_updates'
3+
})
4+
5+
/**
6+
# data: {
7+
# goal: Goal
8+
# postedBy: User
9+
# description: string(markdown)
10+
# timestamps {
11+
# createdAt: Time
12+
# updatedAt: Time
13+
# }
14+
# }
15+
**/

fauna/resources/collections/goals.fql

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CreateCollection({
2+
name: 'goals'
3+
})
4+
5+
/**
6+
# data: {
7+
# createdBy: User
8+
# title: string
9+
# description: string(markdown)
10+
# timestamps {
11+
# createdAt: Time
12+
# updatedAt: Time
13+
# }
14+
# }
15+
**/
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CreateCollection({
2+
name: 'sessions'
3+
})
4+
5+
/**
6+
# "data": {
7+
# "userId": String,
8+
# "expires": Time,
9+
# "sessionToken": String,
10+
# "accessToken": String,
11+
# "createdAt": Time,
12+
# "updatedAt": Time
13+
# }
14+
**/
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CreateCollection({
2+
name: 'update_comments'
3+
})
4+
5+
/**
6+
# data: {
7+
# update: GoalUpdate
8+
# postedBy: User
9+
# description: string
10+
# timestamps {
11+
# createdAt: Time
12+
# updatedAt: Time
13+
# }
14+
# }
15+
**/
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CreateCollection({
2+
name: 'update_likes'
3+
})
4+
5+
/**
6+
# data: {
7+
# update: GoalUpdate
8+
# user: User
9+
# liked: boolean
10+
# timestamps {
11+
# createdAt: Time
12+
# updatedAt: Time
13+
# }
14+
# }
15+
**/
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
CreateCollection({
2+
name: 'user_followers'
3+
})
4+
5+
/**
6+
# "data": {
7+
# "user": User,
8+
# "follower": User,
9+
# "isFollowing": Boolean,
10+
# "timestamps":
11+
# "createdAt": Time,
12+
# "updatedAt": Time)
13+
# }
14+
# }
15+
**/

fauna/resources/collections/users.fql

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
CreateCollection({
2+
name: 'users'
3+
})
4+
5+
/**
6+
# data: {
7+
# "name": String,
8+
# "email": String,
9+
# "image": URLString,
10+
# "username": String,
11+
# "createdAt": Time,
12+
# "updatedAt": Time,
13+
# "socials": {
14+
# "github": String,
15+
# "facebook": String,
16+
# "twitter": String,
17+
# "linkedin": String,
18+
# "codepen": String,
19+
# "discord": String,
20+
# "blog": String
21+
# },
22+
# "account": {
23+
# "firstName": String,
24+
# "lastName": String,
25+
# "bio": String
26+
# },
27+
# "timestamps": {
28+
# "createdAt": Time,
29+
# "updatedAt": Time
30+
# },
31+
# otherDetails: {
32+
# "userType": String('developer' | 'employer' | 'none')
33+
# "mobile": String
34+
# "isCurrentlyWorking": String('yes' | 'no' | 'none')
35+
# "lookingForWork": String('yes' | 'no' | 'none')
36+
# "company": String
37+
# "technologiesFamiliarWith": String[]
38+
# }
39+
# }
40+
**/

0 commit comments

Comments
 (0)