35 lines
1.5 KiB
SQL
35 lines
1.5 KiB
SQL
-- +goose Up
|
|
-- create routes table
|
|
CREATE TABLE IF NOT EXISTS b2b_tracker_routes (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL UNIQUE,
|
|
path VARCHAR(255) NULL,
|
|
component VARCHAR(255) NOT NULL COMMENT 'path to component file',
|
|
layout VARCHAR(50) DEFAULT 'default' COMMENT "'default' | 'empty'",
|
|
meta JSON DEFAULT '{}' ,
|
|
is_active BOOLEAN DEFAULT TRUE,
|
|
sort_order INT DEFAULT 0,
|
|
parent_id INT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
|
|
|
|
ALTER TABLE b2b_tracker_routes
|
|
ADD CONSTRAINT fk_parent
|
|
FOREIGN KEY (parent_id) REFERENCES b2b_tracker_routes(id)
|
|
ON DELETE SET NULL;
|
|
|
|
INSERT IGNORE INTO b2b_tracker_routes
|
|
(name, path, component, layout, meta, is_active, sort_order, parent_id)
|
|
VALUES
|
|
('root', '', '', 'default', '{"trans": "route.root"}', 0, 0, 0),
|
|
('home', '', '@/views/HomeView.vue', 'default', '{"trans": "route.home"}', 1, 0, 0),
|
|
('login', 'login', '@/views/LoginView.vue', 'empty', '{"guest":true}', 1, 2, NULL),
|
|
('register', 'register', '@/views/RegisterView.vue', 'empty', '{"guest":true}', 1, 3, NULL),
|
|
('password-recovery', 'password-recovery', '@/views/PasswordRecoveryView.vue', 'empty', '{"guest":true}', 1, 4, NULL),
|
|
('reset-password', 'reset-password', '@/views/ResetPasswordView.vue', 'empty', '{"guest":true}', 1, 5, NULL),
|
|
('verify-email', 'verify-email', '@/views/VerifyEmailView.vue', 'empty', '{"guest":true}', 1, 6, NULL);
|
|
|
|
-- +goose Down
|
|
|
|
DROP TABLE IF EXISTS b2b_tracker_routes;
|
|
|