Mbonea commited on
Commit
c29db00
·
verified ·
1 Parent(s): 77fd47a

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +9 -66
entrypoint.sh CHANGED
@@ -31,75 +31,18 @@ mysql --socket=/run/mysqld/mysqld.sock -e "
31
  FLUSH PRIVILEGES;
32
  "
33
 
34
- echo "Creating tables if they don't exist..."
35
  mysql --socket=/run/mysqld/mysqld.sock sms_gateway -e "
36
- CREATE TABLE IF NOT EXISTS users (
37
- id VARCHAR(32) NOT NULL,
38
- password_hash VARCHAR(255) NOT NULL,
39
- created_at DATETIME(3) NULL,
40
- updated_at DATETIME(3) NULL,
41
- PRIMARY KEY (id)
42
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
43
-
44
- CREATE TABLE IF NOT EXISTS devices (
45
- id VARCHAR(32) NOT NULL,
46
- user_id VARCHAR(32) NOT NULL,
47
- name VARCHAR(255) NULL,
48
- auth_token VARCHAR(255) NULL,
49
- push_token VARCHAR(255) NULL,
50
- last_seen DATETIME(3) NULL,
51
- created_at DATETIME(3) NULL,
52
- updated_at DATETIME(3) NULL,
53
- deleted_at DATETIME(3) NULL,
54
- PRIMARY KEY (id),
55
- INDEX idx_devices_auth_token (auth_token),
56
- INDEX idx_devices_user_id (user_id),
57
- INDEX idx_devices_deleted_at (deleted_at)
58
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
59
-
60
- CREATE TABLE IF NOT EXISTS messages (
61
- id VARCHAR(32) NOT NULL,
62
- device_id VARCHAR(32) NOT NULL,
63
- user_id VARCHAR(32) NOT NULL,
64
- state VARCHAR(16) NOT NULL DEFAULT 'Pending',
65
- is_hashed TINYINT(1) NOT NULL DEFAULT 0,
66
- created_at DATETIME(3) NULL,
67
- updated_at DATETIME(3) NULL,
68
- deleted_at DATETIME(3) NULL,
69
- PRIMARY KEY (id),
70
- INDEX idx_messages_device_id (device_id),
71
- INDEX idx_messages_user_id (user_id),
72
- INDEX idx_messages_state (state),
73
- INDEX idx_messages_deleted_at (deleted_at)
74
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
75
-
76
- CREATE TABLE IF NOT EXISTS message_recipients (
77
- id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
78
- message_id VARCHAR(32) NOT NULL,
79
- phone_number VARCHAR(32) NOT NULL,
80
- state VARCHAR(16) NOT NULL DEFAULT 'Pending',
81
- error TEXT NULL,
82
- created_at DATETIME(3) NULL,
83
- updated_at DATETIME(3) NULL,
84
- PRIMARY KEY (id),
85
- INDEX idx_message_recipients_message_id (message_id)
86
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
87
-
88
- CREATE TABLE IF NOT EXISTS webhooks (
89
- id VARCHAR(32) NOT NULL,
90
- user_id VARCHAR(32) NOT NULL,
91
- url VARCHAR(1024) NOT NULL,
92
- event VARCHAR(64) NOT NULL,
93
- created_at DATETIME(3) NULL,
94
- updated_at DATETIME(3) NULL,
95
- deleted_at DATETIME(3) NULL,
96
- PRIMARY KEY (id),
97
- INDEX idx_webhooks_user_id (user_id),
98
- INDEX idx_webhooks_deleted_at (deleted_at)
99
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
100
  "
101
 
102
- echo "Database and tables ready."
103
 
104
  sed -i "s|\${GATEWAY__PRIVATE_TOKEN}|${GATEWAY__PRIVATE_TOKEN}|g" /app/config.yml
105
 
 
31
  FLUSH PRIVILEGES;
32
  "
33
 
34
+ echo "Dropping old tables with wrong schema..."
35
  mysql --socket=/run/mysqld/mysqld.sock sms_gateway -e "
36
+ SET FOREIGN_KEY_CHECKS = 0;
37
+ DROP TABLE IF EXISTS webhooks;
38
+ DROP TABLE IF EXISTS message_recipients;
39
+ DROP TABLE IF EXISTS messages;
40
+ DROP TABLE IF EXISTS devices;
41
+ DROP TABLE IF EXISTS users;
42
+ SET FOREIGN_KEY_CHECKS = 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  "
44
 
45
+ echo "Database ready. GORM will create tables on startup."
46
 
47
  sed -i "s|\${GATEWAY__PRIVATE_TOKEN}|${GATEWAY__PRIVATE_TOKEN}|g" /app/config.yml
48