Skip to content
This repository was archived by the owner on Jun 28, 2025. It is now read-only.

Commit fb668fa

Browse files
committed
chore: add init scripts for docker database
1 parent e548eb0 commit fb668fa

File tree

5 files changed

+343
-6
lines changed

5 files changed

+343
-6
lines changed

.development.docker-compose.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@ services:
2222
- MYSQL_ROOT_PASSWORD=${DATABASE_PASSWORD}
2323
- MYSQL_USER=${DATABASE_USERNAME}
2424
- MYSQL_PASSWORD=${DATABASE_PASSWORD}
25-
- MYSQL_DATABASE=${DATABASE_NAME}
25+
- MYSQL_DATABASE=${CMS_DATABASE_NAME}
2626
volumes:
2727
- vim-cms-data:/var/lib/mysql
28+
- ./db/docker-scripts:/docker-entrypoint-initdb.d
2829
ports:
29-
- "3306:3306"
30+
- 3306:3306
3031
networks:
3132
- vim_network
3233

@@ -41,7 +42,7 @@ services:
4142
DATABASE_CLIENT: ${DATABASE_CLIENT}
4243
DATABASE_HOST: db
4344
DATABASE_PORT: ${DATABASE_PORT}
44-
DATABASE_NAME: ${DATABASE_NAME}
45+
DATABASE_NAME: ${CMS_DATABASE_NAME}
4546
DATABASE_USERNAME: ${DATABASE_USERNAME}
4647
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
4748
JWT_SECRET: ${JWT_SECRET}

.env.example

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
DATABASE_CLIENT=mysql2
2-
DATABASE_HOST=127.0.0.1
3-
DATABASE_PORT=3306
4-
DATABASE_NAME=db
52
DATABASE_USERNAME=vim
63
DATABASE_PASSWORD=super-secret
4+
APP_DATABASE_NAME=vim
5+
CMS_DATABASE_NAME=vim_cms
6+
DATABASE_HOST=127.0.0.1
7+
DATABASE_PORT=3306
78
DATABASE_SSL=false
89
HOST=0.0.0.0
910
PORT=1337
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CREATE DATABASE vim;
Lines changed: 332 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,332 @@
1+
USE vim;
2+
-- copy from ../01_schema-legacy.sql
3+
-- MySQL dump 10.13 Distrib 8.0.34, for Linux (x86_64)
4+
--
5+
-- Host: localhost Database: vim
6+
-- ------------------------------------------------------
7+
-- Server version 8.0.34-0ubuntu0.22.04.1
8+
9+
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
10+
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
11+
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
12+
/*!50503 SET NAMES utf8mb4 */;
13+
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
14+
/*!40103 SET TIME_ZONE='+00:00' */;
15+
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
16+
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
17+
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
18+
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
19+
20+
--
21+
-- Table structure for table `post_requests_by_ip`
22+
--
23+
24+
DROP TABLE IF EXISTS `post_requests_by_ip`;
25+
/*!40101 SET @saved_cs_client = @@character_set_client */;
26+
/*!50503 SET character_set_client = utf8mb4 */;
27+
CREATE TABLE `post_requests_by_ip` (
28+
`ip` varchar(20) COLLATE utf8mb3_unicode_ci NOT NULL,
29+
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
30+
KEY `X` (`ip`)
31+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
32+
/*!40101 SET character_set_client = @saved_cs_client */;
33+
34+
--
35+
-- Table structure for table `vd_donations`
36+
--
37+
38+
DROP TABLE IF EXISTS `vd_donations`;
39+
/*!40101 SET @saved_cs_client = @@character_set_client */;
40+
/*!50503 SET character_set_client = utf8mb4 */;
41+
CREATE TABLE `vd_donations` (
42+
`mailed_key` varchar(20) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
43+
`amount` int DEFAULT NULL,
44+
`created` date DEFAULT NULL,
45+
`user_id` int DEFAULT NULL,
46+
KEY `user_id` (`user_id`)
47+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
48+
/*!40101 SET character_set_client = @saved_cs_client */;
49+
50+
--
51+
-- Table structure for table `vd_features`
52+
--
53+
54+
DROP TABLE IF EXISTS `vd_features`;
55+
/*!40101 SET @saved_cs_client = @@character_set_client */;
56+
/*!50503 SET character_set_client = utf8mb4 */;
57+
CREATE TABLE `vd_features` (
58+
`feature_id` varchar(15) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
59+
`sort_id` varchar(15) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
60+
`description` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL
61+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
62+
/*!40101 SET character_set_client = @saved_cs_client */;
63+
64+
--
65+
-- Table structure for table `vd_votes`
66+
--
67+
68+
DROP TABLE IF EXISTS `vd_votes`;
69+
/*!40101 SET @saved_cs_client = @@character_set_client */;
70+
/*!50503 SET character_set_client = utf8mb4 */;
71+
CREATE TABLE `vd_votes` (
72+
`user_id` int DEFAULT NULL,
73+
`vote_nr` int DEFAULT NULL,
74+
`points` int DEFAULT NULL,
75+
`feature_id` varchar(15) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
76+
`expire_date` date DEFAULT NULL,
77+
KEY `user_id` (`user_id`)
78+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
79+
/*!40101 SET character_set_client = @saved_cs_client */;
80+
81+
--
82+
-- Table structure for table `vo_news_items`
83+
--
84+
85+
DROP TABLE IF EXISTS `vo_news_items`;
86+
/*!40101 SET @saved_cs_client = @@character_set_client */;
87+
/*!50503 SET character_set_client = utf8mb4 */;
88+
CREATE TABLE `vo_news_items` (
89+
`news_item_id` int NOT NULL AUTO_INCREMENT,
90+
`title` varchar(80) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
91+
`news` longtext COLLATE utf8mb3_unicode_ci,
92+
`created_by` int DEFAULT NULL,
93+
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
94+
PRIMARY KEY (`news_item_id`)
95+
) ENGINE=InnoDB AUTO_INCREMENT=157 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
96+
/*!40101 SET character_set_client = @saved_cs_client */;
97+
98+
--
99+
-- Table structure for table `vs_script_downloads`
100+
--
101+
102+
DROP TABLE IF EXISTS `vs_script_downloads`;
103+
/*!40101 SET @saved_cs_client = @@character_set_client */;
104+
/*!50503 SET character_set_client = utf8mb4 */;
105+
CREATE TABLE `vs_script_downloads` (
106+
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
107+
`script_id` int DEFAULT NULL,
108+
`ip` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
109+
KEY `vssd_id_ip` (`script_id`,`ip`)
110+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
111+
/*!40101 SET character_set_client = @saved_cs_client */;
112+
113+
--
114+
-- Table structure for table `vs_script_ratings`
115+
--
116+
117+
DROP TABLE IF EXISTS `vs_script_ratings`;
118+
/*!40101 SET @saved_cs_client = @@character_set_client */;
119+
/*!50503 SET character_set_client = utf8mb4 */;
120+
CREATE TABLE `vs_script_ratings` (
121+
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
122+
`script_id` int DEFAULT NULL,
123+
`rating` int DEFAULT NULL,
124+
`ip` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL
125+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
126+
/*!40101 SET character_set_client = @saved_cs_client */;
127+
128+
--
129+
-- Table structure for table `vs_script_source`
130+
--
131+
132+
DROP TABLE IF EXISTS `vs_script_source`;
133+
/*!40101 SET @saved_cs_client = @@character_set_client */;
134+
/*!50503 SET character_set_client = utf8mb4 */;
135+
CREATE TABLE `vs_script_source` (
136+
`script_source_id` int NOT NULL AUTO_INCREMENT,
137+
`mime_type` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
138+
`script_id` int DEFAULT NULL,
139+
`vim_version` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
140+
`script_version` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
141+
`version_comment` longtext COLLATE utf8mb3_unicode_ci,
142+
`src` longblob,
143+
`created_by` int DEFAULT NULL,
144+
`creation_date` datetime DEFAULT NULL,
145+
`package` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
146+
PRIMARY KEY (`script_source_id`),
147+
KEY `source_date` (`creation_date`),
148+
KEY `vss_sid_creator` (`script_id`,`created_by`)
149+
) ENGINE=InnoDB AUTO_INCREMENT=28552 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
150+
/*!40101 SET character_set_client = @saved_cs_client */;
151+
152+
--
153+
-- Table structure for table `vs_scripts`
154+
--
155+
156+
DROP TABLE IF EXISTS `vs_scripts`;
157+
/*!40101 SET @saved_cs_client = @@character_set_client */;
158+
/*!50503 SET character_set_client = utf8mb4 */;
159+
CREATE TABLE `vs_scripts` (
160+
`script_id` int NOT NULL AUTO_INCREMENT,
161+
`script_name` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
162+
`script_type` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
163+
`summary` varchar(80) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
164+
`description` longtext COLLATE utf8mb3_unicode_ci,
165+
`install_details` longtext COLLATE utf8mb3_unicode_ci,
166+
`ratings` int DEFAULT NULL,
167+
`rating_score` int DEFAULT NULL,
168+
`downloads` int DEFAULT NULL,
169+
`last_updated_by` int DEFAULT NULL,
170+
`last_update_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
171+
`created_by` int DEFAULT NULL,
172+
`creation_date` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01',
173+
PRIMARY KEY (`script_id`),
174+
KEY `created_by` (`created_by`),
175+
FULLTEXT KEY `summary` (`summary`,`description`,`install_details`)
176+
) ENGINE=InnoDB AUTO_INCREMENT=6079 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
177+
/*!40101 SET character_set_client = @saved_cs_client */;
178+
179+
--
180+
-- Table structure for table `vs_sessions`
181+
--
182+
183+
DROP TABLE IF EXISTS `vs_sessions`;
184+
/*!40101 SET @saved_cs_client = @@character_set_client */;
185+
/*!50503 SET character_set_client = utf8mb4 */;
186+
CREATE TABLE `vs_sessions` (
187+
`session_id` varchar(32) COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '',
188+
`user_id` int DEFAULT NULL,
189+
`remote_address` varchar(200) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
190+
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
191+
PRIMARY KEY (`session_id`)
192+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
193+
/*!40101 SET character_set_client = @saved_cs_client */;
194+
195+
--
196+
-- Table structure for table `vs_users`
197+
--
198+
199+
DROP TABLE IF EXISTS `vs_users`;
200+
/*!40101 SET @saved_cs_client = @@character_set_client */;
201+
/*!50503 SET character_set_client = utf8mb4 */;
202+
CREATE TABLE `vs_users` (
203+
`user_id` int NOT NULL AUTO_INCREMENT,
204+
`user_name` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
205+
`password` varchar(32) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
206+
`first_name` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
207+
`last_name` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
208+
`email` varchar(200) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
209+
`access` int DEFAULT NULL,
210+
`homepage` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
211+
`sponsor_amount` int DEFAULT NULL,
212+
`sponsor_vote_amount` int DEFAULT NULL,
213+
`sponsor_vote_date` date DEFAULT NULL,
214+
`sponsor_flags` int DEFAULT NULL,
215+
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
216+
PRIMARY KEY (`user_id`)
217+
) ENGINE=InnoDB AUTO_INCREMENT=79919 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
218+
/*!40101 SET character_set_client = @saved_cs_client */;
219+
220+
--
221+
-- Table structure for table `vt_tip_note_spam`
222+
--
223+
224+
DROP TABLE IF EXISTS `vt_tip_note_spam`;
225+
/*!40101 SET @saved_cs_client = @@character_set_client */;
226+
/*!50503 SET character_set_client = utf8mb4 */;
227+
CREATE TABLE `vt_tip_note_spam` (
228+
`tip_spam_note_id` int NOT NULL AUTO_INCREMENT,
229+
`moderated_by` int NOT NULL DEFAULT '0',
230+
`moderated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
231+
`tip_note_id` int NOT NULL DEFAULT '0',
232+
`tip_id` int NOT NULL DEFAULT '0',
233+
`note` longtext COLLATE utf8mb3_unicode_ci NOT NULL,
234+
`created_by` varchar(40) COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '',
235+
`created_by_email` varchar(100) COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '',
236+
`last_update_date` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01',
237+
`creation_date` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01',
238+
`last_updated_by_email` varchar(100) COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '',
239+
PRIMARY KEY (`tip_spam_note_id`)
240+
) ENGINE=InnoDB AUTO_INCREMENT=4795 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
241+
/*!40101 SET character_set_client = @saved_cs_client */;
242+
243+
--
244+
-- Table structure for table `vt_tip_notes`
245+
--
246+
247+
DROP TABLE IF EXISTS `vt_tip_notes`;
248+
/*!40101 SET @saved_cs_client = @@character_set_client */;
249+
/*!50503 SET character_set_client = utf8mb4 */;
250+
CREATE TABLE `vt_tip_notes` (
251+
`tip_note_id` int NOT NULL AUTO_INCREMENT,
252+
`tip_id` int DEFAULT NULL,
253+
`note` longtext COLLATE utf8mb3_unicode_ci,
254+
`last_updated_by_email` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
255+
`last_update_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
256+
`created_by` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
257+
`created_by_email` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
258+
`creation_date` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01',
259+
PRIMARY KEY (`tip_note_id`)
260+
) ENGINE=InnoDB AUTO_INCREMENT=12968 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
261+
/*!40101 SET character_set_client = @saved_cs_client */;
262+
263+
--
264+
-- Table structure for table `vt_tip_ratings`
265+
--
266+
267+
DROP TABLE IF EXISTS `vt_tip_ratings`;
268+
/*!40101 SET @saved_cs_client = @@character_set_client */;
269+
/*!50503 SET character_set_client = utf8mb4 */;
270+
CREATE TABLE `vt_tip_ratings` (
271+
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
272+
`tip_id` int DEFAULT NULL,
273+
`rating` int DEFAULT NULL,
274+
`ip` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
275+
KEY `vt_tip_ratings_n1` (`ip`),
276+
KEY `vt_tip_ratings_n2` (`tip_id`)
277+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
278+
/*!40101 SET character_set_client = @saved_cs_client */;
279+
280+
--
281+
-- Table structure for table `vt_tip_spam`
282+
--
283+
284+
DROP TABLE IF EXISTS `vt_tip_spam`;
285+
/*!40101 SET @saved_cs_client = @@character_set_client */;
286+
/*!50503 SET character_set_client = utf8mb4 */;
287+
CREATE TABLE `vt_tip_spam` (
288+
`tip_spam_id` int NOT NULL AUTO_INCREMENT,
289+
`moderated_by` int DEFAULT NULL,
290+
`moderated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
291+
`tip_id` int DEFAULT NULL,
292+
`summary` varchar(200) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
293+
`tip` longtext COLLATE utf8mb3_unicode_ci,
294+
`version` enum('5.7','6.0') COLLATE utf8mb3_unicode_ci DEFAULT NULL,
295+
`complexity` enum('basic','intermediate','advanced') COLLATE utf8mb3_unicode_ci DEFAULT NULL,
296+
`last_updated_by_email` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
297+
`last_update_date` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01',
298+
`created_by` varchar(40) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
299+
`created_by_email` varchar(100) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
300+
`creation_date` timestamp NOT NULL DEFAULT '1970-01-01 00:00:01',
301+
`ratings` int DEFAULT NULL,
302+
`rating_score` int DEFAULT NULL,
303+
`viewed` int DEFAULT NULL,
304+
PRIMARY KEY (`tip_spam_id`)
305+
) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
306+
/*!40101 SET character_set_client = @saved_cs_client */;
307+
308+
--
309+
-- Table structure for table `vt_tip_views`
310+
--
311+
312+
DROP TABLE IF EXISTS `vt_tip_views`;
313+
/*!40101 SET @saved_cs_client = @@character_set_client */;
314+
/*!50503 SET character_set_client = utf8mb4 */;
315+
CREATE TABLE `vt_tip_views` (
316+
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
317+
`tip_id` int DEFAULT NULL,
318+
`ip` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
319+
KEY `vt_tip_views_n1` (`ip`)
320+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
321+
/*!40101 SET character_set_client = @saved_cs_client */;
322+
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
323+
324+
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
325+
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
326+
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
327+
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
328+
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
329+
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
330+
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
331+
332+
-- Dump completed on 2023-10-13 22:24:08
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
GRANT ALL PRIVILEGES ON vim.* TO 'vim'@'%';
2+
FLUSH PRIVILEGES;

0 commit comments

Comments
 (0)