agrs-sequelize-sdk 1.2.99 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/migrations/add-requested-from-dashboard-to-articles.js +17 -17
- package/models/AdAccountValues.js +25 -25
- package/models/AdHistory.js +30 -30
- package/models/AdPerformance.js +94 -94
- package/models/AdSet.js +289 -289
- package/models/AdSetHistory.js +30 -30
- package/models/AdsetPerformance.js +126 -126
- package/models/Article.js +190 -190
- package/models/AutomationRule.js +161 -127
- package/models/Buyers.js +25 -25
- package/models/Campaign.js +157 -157
- package/models/CampaignActionHistory.js +86 -86
- package/models/CampaignCreationLog.js +309 -309
- package/models/CampaignHistory.js +33 -33
- package/models/Channel.js +55 -55
- package/models/Domain.js +25 -25
- package/models/DynamicFeed.js +212 -212
- package/models/ExplorAdsChannel.js +61 -61
- package/models/Feed.js +33 -33
- package/models/FrontStoryChannel.js +59 -59
- package/models/MineChannel.js +42 -42
- package/models/Pages.js +81 -81
- package/models/PipelineExecution.js +59 -59
- package/models/Presets.js +34 -34
- package/models/RSOCFeedCampaign.js +357 -357
- package/models/RsocKeywordPerformance.js +110 -110
- package/models/RuleAction.js +90 -90
- package/models/RuleCondition.js +98 -98
- package/models/RuleExecution.js +107 -107
- package/models/RulesValues.js +56 -56
- package/models/SupportedLocale.js +23 -23
- package/models/SyncHistory.js +249 -249
- package/models/Tier2_AdAccounts.js +110 -110
- package/models/Tier2_Assets.js +70 -70
- package/models/Tier2_BusinessManagers.js +105 -105
- package/models/Tier2_CreditLines.js +99 -99
- package/models/Tier2_Pages.js +91 -91
- package/models/Tier2_Pixels.js +82 -82
- package/models/Tier2_Tokens.js +64 -64
- package/models/Tier2_UserAdAccounts.js +83 -83
- package/models/TokenRotationState.js +121 -121
- package/models/TonicRSOCKeywordPerformance.js +122 -122
- package/models/Vertical.js +25 -25
- package/models/newFiles.js +110 -110
- package/package.json +19 -21
- package/run.sh +214 -214
- package/services/sequelizeService.js +63 -63
package/run.sh
CHANGED
|
@@ -1,214 +1,214 @@
|
|
|
1
|
-
# #!/bin/bash
|
|
2
|
-
|
|
3
|
-
# # Check if root is only required for jq installation
|
|
4
|
-
# require_root_for_jq=0
|
|
5
|
-
|
|
6
|
-
# # Check if jq is installed
|
|
7
|
-
# if ! command -v jq &> /dev/null; then
|
|
8
|
-
# echo "jq not found. Installing jq..."
|
|
9
|
-
# require_root_for_jq=1
|
|
10
|
-
# if command -v apt-get &> /dev/null; then
|
|
11
|
-
# sudo apt-get update && sudo apt-get install -y jq
|
|
12
|
-
# elif command -v brew &> /dev/null; then
|
|
13
|
-
# brew install jq
|
|
14
|
-
# else
|
|
15
|
-
# echo "Please install jq manually."
|
|
16
|
-
# exit 1
|
|
17
|
-
# fi
|
|
18
|
-
# fi
|
|
19
|
-
|
|
20
|
-
# # Only require root if jq installation was needed
|
|
21
|
-
# if [[ $require_root_for_jq -eq 1 && $EUID -ne 0 ]]; then
|
|
22
|
-
# echo "This script must be run as root for jq installation. Please use sudo."
|
|
23
|
-
# exit 1
|
|
24
|
-
# fi
|
|
25
|
-
|
|
26
|
-
# # Step 1: Check if logged in to NPM
|
|
27
|
-
# npmUsername=$(npm whoami 2>&1)
|
|
28
|
-
# if [[ $npmUsername == *"ERR"* ]]; then
|
|
29
|
-
# echo "Not logged in. Please log in to NPM."
|
|
30
|
-
# npm login
|
|
31
|
-
# if [[ $? -ne 0 ]]; then
|
|
32
|
-
# echo "NPM login failed. Exiting..."
|
|
33
|
-
# exit 1
|
|
34
|
-
# fi
|
|
35
|
-
# else
|
|
36
|
-
# echo "Already logged in to NPM as $npmUsername"
|
|
37
|
-
# fi
|
|
38
|
-
|
|
39
|
-
# # Step 2: Increment version in package.json
|
|
40
|
-
# if [[ ! -f package.json ]]; then
|
|
41
|
-
# echo "package.json not found. Exiting..."
|
|
42
|
-
# exit 1
|
|
43
|
-
# fi
|
|
44
|
-
|
|
45
|
-
# currentVersion=$(jq -r '.version' package.json)
|
|
46
|
-
|
|
47
|
-
# if [[ -z "$currentVersion" ]]; then
|
|
48
|
-
# echo "Could not find version in package.json"
|
|
49
|
-
# exit 1
|
|
50
|
-
# fi
|
|
51
|
-
|
|
52
|
-
# # Split version into major, minor, patch
|
|
53
|
-
# IFS='.' read -r major minor patch <<< "$currentVersion"
|
|
54
|
-
|
|
55
|
-
# # Increment version numbers with three-digit logic
|
|
56
|
-
# if [[ $patch -eq 99 ]]; then
|
|
57
|
-
# patch=0
|
|
58
|
-
# if [[ $minor -eq 99 ]]; then
|
|
59
|
-
# minor=0
|
|
60
|
-
# ((major++))
|
|
61
|
-
# else
|
|
62
|
-
# ((minor++))
|
|
63
|
-
# fi
|
|
64
|
-
# else
|
|
65
|
-
# ((patch++))
|
|
66
|
-
# fi
|
|
67
|
-
|
|
68
|
-
# newVersion="$major.$minor.$patch"
|
|
69
|
-
|
|
70
|
-
# # Update the version in package.json while maintaining formatting
|
|
71
|
-
# jq --arg version "$newVersion" '.version = $version' package.json > tmp.json && mv tmp.json package.json
|
|
72
|
-
# echo "Version updated from $currentVersion to $newVersion"
|
|
73
|
-
|
|
74
|
-
# # Step 3: Publish the package to NPM
|
|
75
|
-
# npm publish
|
|
76
|
-
# if [[ $? -ne 0 ]]; then
|
|
77
|
-
# echo "NPM publish failed. Exiting..."
|
|
78
|
-
# exit 1
|
|
79
|
-
# fi
|
|
80
|
-
|
|
81
|
-
# # Step 4: Commit the changes and push to GitHub
|
|
82
|
-
# git add .
|
|
83
|
-
# git commit -m "Bump version to $newVersion"
|
|
84
|
-
# git push origin main
|
|
85
|
-
|
|
86
|
-
# if [[ $? -ne 0 ]]; then
|
|
87
|
-
# echo "Failed to push changes to GitHub. Exiting..."
|
|
88
|
-
# exit 1
|
|
89
|
-
# fi
|
|
90
|
-
|
|
91
|
-
# echo "Version $newVersion published and changes pushed to GitHub successfully!"
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
#!/bin/bash
|
|
95
|
-
|
|
96
|
-
# Check if root is only required for jq installation
|
|
97
|
-
require_root_for_jq=0
|
|
98
|
-
|
|
99
|
-
# Check if jq is installed
|
|
100
|
-
if ! command -v jq &> /dev/null; then
|
|
101
|
-
echo "jq not found. Installing jq..."
|
|
102
|
-
require_root_for_jq=1
|
|
103
|
-
if command -v apt-get &> /dev/null; then
|
|
104
|
-
sudo apt-get update && sudo apt-get install -y jq
|
|
105
|
-
elif command -v brew &> /dev/null; then
|
|
106
|
-
brew install jq
|
|
107
|
-
else
|
|
108
|
-
echo "Please install jq manually."
|
|
109
|
-
exit 1
|
|
110
|
-
fi
|
|
111
|
-
fi
|
|
112
|
-
|
|
113
|
-
# Only require root if jq installation was needed
|
|
114
|
-
if [[ $require_root_for_jq -eq 1 && $EUID -ne 0 ]]; then
|
|
115
|
-
echo "This script must be run as root for jq installation. Please use sudo."
|
|
116
|
-
exit 1
|
|
117
|
-
fi
|
|
118
|
-
|
|
119
|
-
# Step 1: Check if logged in to NPM
|
|
120
|
-
npmUsername=$(npm whoami 2>&1)
|
|
121
|
-
if [[ $npmUsername == *"ERR"* ]]; then
|
|
122
|
-
echo "Not logged in. Please log in to NPM."
|
|
123
|
-
npm login
|
|
124
|
-
if [[ $? -ne 0 ]]; then
|
|
125
|
-
echo "NPM login failed. Exiting..."
|
|
126
|
-
exit 1
|
|
127
|
-
fi
|
|
128
|
-
else
|
|
129
|
-
echo "Already logged in to NPM as $npmUsername"
|
|
130
|
-
fi
|
|
131
|
-
|
|
132
|
-
# Step 2: Check the latest published version from NPM
|
|
133
|
-
packageName=$(jq -r '.name' package.json)
|
|
134
|
-
if [[ -z "$packageName" ]]; then
|
|
135
|
-
echo "Could not find package name in package.json"
|
|
136
|
-
exit 1
|
|
137
|
-
fi
|
|
138
|
-
|
|
139
|
-
latestPublishedVersion=$(npm view "$packageName" version)
|
|
140
|
-
if [[ $? -ne 0 ]]; then
|
|
141
|
-
echo "Failed to fetch the latest published version. Exiting..."
|
|
142
|
-
exit 1
|
|
143
|
-
fi
|
|
144
|
-
|
|
145
|
-
echo "Latest published version on NPM: $latestPublishedVersion"
|
|
146
|
-
|
|
147
|
-
# Step 3: Increment version in package.json
|
|
148
|
-
if [[ ! -f package.json ]]; then
|
|
149
|
-
echo "package.json not found. Exiting..."
|
|
150
|
-
exit 1
|
|
151
|
-
fi
|
|
152
|
-
|
|
153
|
-
currentVersion=$(jq -r '.version' package.json)
|
|
154
|
-
|
|
155
|
-
if [[ -z "$currentVersion" ]]; then
|
|
156
|
-
echo "Could not find version in package.json"
|
|
157
|
-
exit 1
|
|
158
|
-
fi
|
|
159
|
-
|
|
160
|
-
# Split version into major, minor, patch
|
|
161
|
-
IFS='.' read -r major minor patch <<< "$currentVersion"
|
|
162
|
-
|
|
163
|
-
# Increment version numbers with three-digit logic
|
|
164
|
-
if [[ $patch -eq 99 ]]; then
|
|
165
|
-
patch=0
|
|
166
|
-
if [[ $minor -eq 99 ]]; then
|
|
167
|
-
minor=0
|
|
168
|
-
((major++))
|
|
169
|
-
else
|
|
170
|
-
((minor++))
|
|
171
|
-
fi
|
|
172
|
-
else
|
|
173
|
-
((patch++))
|
|
174
|
-
fi
|
|
175
|
-
|
|
176
|
-
newVersion="$major.$minor.$patch"
|
|
177
|
-
|
|
178
|
-
# Ensure the new version is greater than the latest published version
|
|
179
|
-
if [[ "$(printf '%s\n' "$newVersion" "$latestPublishedVersion" | sort -V | tail -1)" != "$newVersion" ]]; then
|
|
180
|
-
echo "Error: New version ($newVersion) is not greater than the latest published version ($latestPublishedVersion)."
|
|
181
|
-
echo "Please manually update the version in package.json or adjust the script logic."
|
|
182
|
-
exit 1
|
|
183
|
-
fi
|
|
184
|
-
|
|
185
|
-
# Update the version in package.json while maintaining formatting
|
|
186
|
-
jq --arg version "$newVersion" '.version = $version' package.json > tmp.json && mv tmp.json package.json
|
|
187
|
-
echo "Version updated from $currentVersion to $newVersion"
|
|
188
|
-
|
|
189
|
-
# Step 4: Publish the package to NPM
|
|
190
|
-
npm publish
|
|
191
|
-
if [[ $? -ne 0 ]]; then
|
|
192
|
-
echo "NPM publish failed. Exiting..."
|
|
193
|
-
exit 1
|
|
194
|
-
fi
|
|
195
|
-
|
|
196
|
-
# Step 5: Commit the changes and push to GitHub
|
|
197
|
-
git add .
|
|
198
|
-
git commit -m "Bump version to $newVersion"
|
|
199
|
-
|
|
200
|
-
# Pull latest changes to ensure there are no conflicts
|
|
201
|
-
git pull origin main --rebase
|
|
202
|
-
if [[ $? -ne 0 ]]; then
|
|
203
|
-
echo "Git pull failed. Please resolve conflicts manually. Exiting..."
|
|
204
|
-
exit 1
|
|
205
|
-
fi
|
|
206
|
-
|
|
207
|
-
# Push changes to remote
|
|
208
|
-
git push origin main
|
|
209
|
-
if [[ $? -ne 0 ]]; then
|
|
210
|
-
echo "Failed to push changes to GitHub. Exiting..."
|
|
211
|
-
exit 1
|
|
212
|
-
fi
|
|
213
|
-
|
|
214
|
-
echo "Version $newVersion published and changes pushed to GitHub successfully!"
|
|
1
|
+
# #!/bin/bash
|
|
2
|
+
|
|
3
|
+
# # Check if root is only required for jq installation
|
|
4
|
+
# require_root_for_jq=0
|
|
5
|
+
|
|
6
|
+
# # Check if jq is installed
|
|
7
|
+
# if ! command -v jq &> /dev/null; then
|
|
8
|
+
# echo "jq not found. Installing jq..."
|
|
9
|
+
# require_root_for_jq=1
|
|
10
|
+
# if command -v apt-get &> /dev/null; then
|
|
11
|
+
# sudo apt-get update && sudo apt-get install -y jq
|
|
12
|
+
# elif command -v brew &> /dev/null; then
|
|
13
|
+
# brew install jq
|
|
14
|
+
# else
|
|
15
|
+
# echo "Please install jq manually."
|
|
16
|
+
# exit 1
|
|
17
|
+
# fi
|
|
18
|
+
# fi
|
|
19
|
+
|
|
20
|
+
# # Only require root if jq installation was needed
|
|
21
|
+
# if [[ $require_root_for_jq -eq 1 && $EUID -ne 0 ]]; then
|
|
22
|
+
# echo "This script must be run as root for jq installation. Please use sudo."
|
|
23
|
+
# exit 1
|
|
24
|
+
# fi
|
|
25
|
+
|
|
26
|
+
# # Step 1: Check if logged in to NPM
|
|
27
|
+
# npmUsername=$(npm whoami 2>&1)
|
|
28
|
+
# if [[ $npmUsername == *"ERR"* ]]; then
|
|
29
|
+
# echo "Not logged in. Please log in to NPM."
|
|
30
|
+
# npm login
|
|
31
|
+
# if [[ $? -ne 0 ]]; then
|
|
32
|
+
# echo "NPM login failed. Exiting..."
|
|
33
|
+
# exit 1
|
|
34
|
+
# fi
|
|
35
|
+
# else
|
|
36
|
+
# echo "Already logged in to NPM as $npmUsername"
|
|
37
|
+
# fi
|
|
38
|
+
|
|
39
|
+
# # Step 2: Increment version in package.json
|
|
40
|
+
# if [[ ! -f package.json ]]; then
|
|
41
|
+
# echo "package.json not found. Exiting..."
|
|
42
|
+
# exit 1
|
|
43
|
+
# fi
|
|
44
|
+
|
|
45
|
+
# currentVersion=$(jq -r '.version' package.json)
|
|
46
|
+
|
|
47
|
+
# if [[ -z "$currentVersion" ]]; then
|
|
48
|
+
# echo "Could not find version in package.json"
|
|
49
|
+
# exit 1
|
|
50
|
+
# fi
|
|
51
|
+
|
|
52
|
+
# # Split version into major, minor, patch
|
|
53
|
+
# IFS='.' read -r major minor patch <<< "$currentVersion"
|
|
54
|
+
|
|
55
|
+
# # Increment version numbers with three-digit logic
|
|
56
|
+
# if [[ $patch -eq 99 ]]; then
|
|
57
|
+
# patch=0
|
|
58
|
+
# if [[ $minor -eq 99 ]]; then
|
|
59
|
+
# minor=0
|
|
60
|
+
# ((major++))
|
|
61
|
+
# else
|
|
62
|
+
# ((minor++))
|
|
63
|
+
# fi
|
|
64
|
+
# else
|
|
65
|
+
# ((patch++))
|
|
66
|
+
# fi
|
|
67
|
+
|
|
68
|
+
# newVersion="$major.$minor.$patch"
|
|
69
|
+
|
|
70
|
+
# # Update the version in package.json while maintaining formatting
|
|
71
|
+
# jq --arg version "$newVersion" '.version = $version' package.json > tmp.json && mv tmp.json package.json
|
|
72
|
+
# echo "Version updated from $currentVersion to $newVersion"
|
|
73
|
+
|
|
74
|
+
# # Step 3: Publish the package to NPM
|
|
75
|
+
# npm publish
|
|
76
|
+
# if [[ $? -ne 0 ]]; then
|
|
77
|
+
# echo "NPM publish failed. Exiting..."
|
|
78
|
+
# exit 1
|
|
79
|
+
# fi
|
|
80
|
+
|
|
81
|
+
# # Step 4: Commit the changes and push to GitHub
|
|
82
|
+
# git add .
|
|
83
|
+
# git commit -m "Bump version to $newVersion"
|
|
84
|
+
# git push origin main
|
|
85
|
+
|
|
86
|
+
# if [[ $? -ne 0 ]]; then
|
|
87
|
+
# echo "Failed to push changes to GitHub. Exiting..."
|
|
88
|
+
# exit 1
|
|
89
|
+
# fi
|
|
90
|
+
|
|
91
|
+
# echo "Version $newVersion published and changes pushed to GitHub successfully!"
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
#!/bin/bash
|
|
95
|
+
|
|
96
|
+
# Check if root is only required for jq installation
|
|
97
|
+
require_root_for_jq=0
|
|
98
|
+
|
|
99
|
+
# Check if jq is installed
|
|
100
|
+
if ! command -v jq &> /dev/null; then
|
|
101
|
+
echo "jq not found. Installing jq..."
|
|
102
|
+
require_root_for_jq=1
|
|
103
|
+
if command -v apt-get &> /dev/null; then
|
|
104
|
+
sudo apt-get update && sudo apt-get install -y jq
|
|
105
|
+
elif command -v brew &> /dev/null; then
|
|
106
|
+
brew install jq
|
|
107
|
+
else
|
|
108
|
+
echo "Please install jq manually."
|
|
109
|
+
exit 1
|
|
110
|
+
fi
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
# Only require root if jq installation was needed
|
|
114
|
+
if [[ $require_root_for_jq -eq 1 && $EUID -ne 0 ]]; then
|
|
115
|
+
echo "This script must be run as root for jq installation. Please use sudo."
|
|
116
|
+
exit 1
|
|
117
|
+
fi
|
|
118
|
+
|
|
119
|
+
# Step 1: Check if logged in to NPM
|
|
120
|
+
npmUsername=$(npm whoami 2>&1)
|
|
121
|
+
if [[ $npmUsername == *"ERR"* ]]; then
|
|
122
|
+
echo "Not logged in. Please log in to NPM."
|
|
123
|
+
npm login
|
|
124
|
+
if [[ $? -ne 0 ]]; then
|
|
125
|
+
echo "NPM login failed. Exiting..."
|
|
126
|
+
exit 1
|
|
127
|
+
fi
|
|
128
|
+
else
|
|
129
|
+
echo "Already logged in to NPM as $npmUsername"
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
# Step 2: Check the latest published version from NPM
|
|
133
|
+
packageName=$(jq -r '.name' package.json)
|
|
134
|
+
if [[ -z "$packageName" ]]; then
|
|
135
|
+
echo "Could not find package name in package.json"
|
|
136
|
+
exit 1
|
|
137
|
+
fi
|
|
138
|
+
|
|
139
|
+
latestPublishedVersion=$(npm view "$packageName" version)
|
|
140
|
+
if [[ $? -ne 0 ]]; then
|
|
141
|
+
echo "Failed to fetch the latest published version. Exiting..."
|
|
142
|
+
exit 1
|
|
143
|
+
fi
|
|
144
|
+
|
|
145
|
+
echo "Latest published version on NPM: $latestPublishedVersion"
|
|
146
|
+
|
|
147
|
+
# Step 3: Increment version in package.json
|
|
148
|
+
if [[ ! -f package.json ]]; then
|
|
149
|
+
echo "package.json not found. Exiting..."
|
|
150
|
+
exit 1
|
|
151
|
+
fi
|
|
152
|
+
|
|
153
|
+
currentVersion=$(jq -r '.version' package.json)
|
|
154
|
+
|
|
155
|
+
if [[ -z "$currentVersion" ]]; then
|
|
156
|
+
echo "Could not find version in package.json"
|
|
157
|
+
exit 1
|
|
158
|
+
fi
|
|
159
|
+
|
|
160
|
+
# Split version into major, minor, patch
|
|
161
|
+
IFS='.' read -r major minor patch <<< "$currentVersion"
|
|
162
|
+
|
|
163
|
+
# Increment version numbers with three-digit logic
|
|
164
|
+
if [[ $patch -eq 99 ]]; then
|
|
165
|
+
patch=0
|
|
166
|
+
if [[ $minor -eq 99 ]]; then
|
|
167
|
+
minor=0
|
|
168
|
+
((major++))
|
|
169
|
+
else
|
|
170
|
+
((minor++))
|
|
171
|
+
fi
|
|
172
|
+
else
|
|
173
|
+
((patch++))
|
|
174
|
+
fi
|
|
175
|
+
|
|
176
|
+
newVersion="$major.$minor.$patch"
|
|
177
|
+
|
|
178
|
+
# Ensure the new version is greater than the latest published version
|
|
179
|
+
if [[ "$(printf '%s\n' "$newVersion" "$latestPublishedVersion" | sort -V | tail -1)" != "$newVersion" ]]; then
|
|
180
|
+
echo "Error: New version ($newVersion) is not greater than the latest published version ($latestPublishedVersion)."
|
|
181
|
+
echo "Please manually update the version in package.json or adjust the script logic."
|
|
182
|
+
exit 1
|
|
183
|
+
fi
|
|
184
|
+
|
|
185
|
+
# Update the version in package.json while maintaining formatting
|
|
186
|
+
jq --arg version "$newVersion" '.version = $version' package.json > tmp.json && mv tmp.json package.json
|
|
187
|
+
echo "Version updated from $currentVersion to $newVersion"
|
|
188
|
+
|
|
189
|
+
# Step 4: Publish the package to NPM
|
|
190
|
+
npm publish
|
|
191
|
+
if [[ $? -ne 0 ]]; then
|
|
192
|
+
echo "NPM publish failed. Exiting..."
|
|
193
|
+
exit 1
|
|
194
|
+
fi
|
|
195
|
+
|
|
196
|
+
# Step 5: Commit the changes and push to GitHub
|
|
197
|
+
git add .
|
|
198
|
+
git commit -m "Bump version to $newVersion"
|
|
199
|
+
|
|
200
|
+
# Pull latest changes to ensure there are no conflicts
|
|
201
|
+
git pull origin main --rebase
|
|
202
|
+
if [[ $? -ne 0 ]]; then
|
|
203
|
+
echo "Git pull failed. Please resolve conflicts manually. Exiting..."
|
|
204
|
+
exit 1
|
|
205
|
+
fi
|
|
206
|
+
|
|
207
|
+
# Push changes to remote
|
|
208
|
+
git push origin main
|
|
209
|
+
if [[ $? -ne 0 ]]; then
|
|
210
|
+
echo "Failed to push changes to GitHub. Exiting..."
|
|
211
|
+
exit 1
|
|
212
|
+
fi
|
|
213
|
+
|
|
214
|
+
echo "Version $newVersion published and changes pushed to GitHub successfully!"
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
// services/sequelizeService.js
|
|
2
|
-
const DBModels = require("../index");
|
|
3
|
-
const { env } = require("../../agrs-dashboard/env");
|
|
4
|
-
|
|
5
|
-
async function syncDatabase() {
|
|
6
|
-
console.log("Starting database synchronization...");
|
|
7
|
-
|
|
8
|
-
try {
|
|
9
|
-
// Load environment variables
|
|
10
|
-
await require("../../agrs-dashboard/env").loadSecrets();
|
|
11
|
-
|
|
12
|
-
// Configuration
|
|
13
|
-
const config = {
|
|
14
|
-
username: env.DB_USERNAME,
|
|
15
|
-
password: env.DB_PASSWORD,
|
|
16
|
-
database: env.DB_NAME,
|
|
17
|
-
host: env.DB_HOST,
|
|
18
|
-
port: env.DB_PORT,
|
|
19
|
-
dialect: "postgres",
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// Initialize DB
|
|
23
|
-
const dbModelInstance = new DBModels(config);
|
|
24
|
-
const db = dbModelInstance.db;
|
|
25
|
-
|
|
26
|
-
// Test connection
|
|
27
|
-
await db.sequelize.authenticate();
|
|
28
|
-
console.log("Database connection established successfully.");
|
|
29
|
-
|
|
30
|
-
// List all models
|
|
31
|
-
console.log("\n=== MODELS TO BE SYNCED ===");
|
|
32
|
-
const modelNames = Object.keys(db).filter(
|
|
33
|
-
(key) =>
|
|
34
|
-
typeof db[key] === "function" &&
|
|
35
|
-
db[key].prototype &&
|
|
36
|
-
db[key].prototype.constructor.name === "Model"
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
modelNames.forEach((modelName) => {
|
|
40
|
-
console.log(`- ${modelName}`);
|
|
41
|
-
});
|
|
42
|
-
console.log("==============================\n");
|
|
43
|
-
|
|
44
|
-
// Sync with alter: true to update schema
|
|
45
|
-
console.log("Syncing database schema...");
|
|
46
|
-
await db.sequelize.sync({ alter: true });
|
|
47
|
-
|
|
48
|
-
console.log("✅ Database synchronized successfully!");
|
|
49
|
-
console.log("Schema has been updated to match model definitions.");
|
|
50
|
-
|
|
51
|
-
process.exit(0);
|
|
52
|
-
} catch (error) {
|
|
53
|
-
console.error("❌ Error during database synchronization:", error);
|
|
54
|
-
process.exit(1);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Run if called directly
|
|
59
|
-
if (require.main === module) {
|
|
60
|
-
syncDatabase();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
module.exports = { syncDatabase };
|
|
1
|
+
// services/sequelizeService.js
|
|
2
|
+
const DBModels = require("../index");
|
|
3
|
+
const { env } = require("../../agrs-dashboard/env");
|
|
4
|
+
|
|
5
|
+
async function syncDatabase() {
|
|
6
|
+
console.log("Starting database synchronization...");
|
|
7
|
+
|
|
8
|
+
try {
|
|
9
|
+
// Load environment variables
|
|
10
|
+
await require("../../agrs-dashboard/env").loadSecrets();
|
|
11
|
+
|
|
12
|
+
// Configuration
|
|
13
|
+
const config = {
|
|
14
|
+
username: env.DB_USERNAME,
|
|
15
|
+
password: env.DB_PASSWORD,
|
|
16
|
+
database: env.DB_NAME,
|
|
17
|
+
host: env.DB_HOST,
|
|
18
|
+
port: env.DB_PORT,
|
|
19
|
+
dialect: "postgres",
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// Initialize DB
|
|
23
|
+
const dbModelInstance = new DBModels(config);
|
|
24
|
+
const db = dbModelInstance.db;
|
|
25
|
+
|
|
26
|
+
// Test connection
|
|
27
|
+
await db.sequelize.authenticate();
|
|
28
|
+
console.log("Database connection established successfully.");
|
|
29
|
+
|
|
30
|
+
// List all models
|
|
31
|
+
console.log("\n=== MODELS TO BE SYNCED ===");
|
|
32
|
+
const modelNames = Object.keys(db).filter(
|
|
33
|
+
(key) =>
|
|
34
|
+
typeof db[key] === "function" &&
|
|
35
|
+
db[key].prototype &&
|
|
36
|
+
db[key].prototype.constructor.name === "Model"
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
modelNames.forEach((modelName) => {
|
|
40
|
+
console.log(`- ${modelName}`);
|
|
41
|
+
});
|
|
42
|
+
console.log("==============================\n");
|
|
43
|
+
|
|
44
|
+
// Sync with alter: true to update schema
|
|
45
|
+
console.log("Syncing database schema...");
|
|
46
|
+
await db.sequelize.sync({ alter: true });
|
|
47
|
+
|
|
48
|
+
console.log("✅ Database synchronized successfully!");
|
|
49
|
+
console.log("Schema has been updated to match model definitions.");
|
|
50
|
+
|
|
51
|
+
process.exit(0);
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.error("❌ Error during database synchronization:", error);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Run if called directly
|
|
59
|
+
if (require.main === module) {
|
|
60
|
+
syncDatabase();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
module.exports = { syncDatabase };
|