update.sql 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. CREATE TABLE IF NOT EXISTS ssh_key(
  2. id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  3. label VARCHAR(255) NOT NULL,
  4. public_key TEXT,
  5. create_time BIGINT UNSIGNED NOT NULL,
  6. PRIMARY KEY (id))
  7. ENGINE=Innodb
  8. DEFAULT CHARSET=utf8;
  9. ALTER TABLE ssh_key ADD INDEX (label);
  10. ALTER TABLE guest ADD COLUMN ssh_keys_id TEXT AFTER xml;
  11. -- 操作系统模板镜像
  12. CREATE TABLE IF NOT EXISTS os_template_image(
  13. label VARCHAR(255) NOT NULL,
  14. description TEXT,
  15. path VARCHAR(255) NOT NULL,
  16. active BOOLEAN NOT NULL DEFAULT TRUE,
  17. logo VARCHAR(255) NOT NULL,
  18. os_template_profile_id BIGINT UNSIGNED NOT NULL,
  19. PRIMARY KEY (id))
  20. ENGINE=InnoDB
  21. DEFAULT CHARSET=utf8;
  22. -- 操作系统模板描述文件
  23. CREATE TABLE IF NOT EXISTS os_template_profile(
  24. id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  25. label VARCHAR(255) NOT NULL,
  26. description TEXT,
  27. -- http://libguestfs.org/guestfish.1.html#inspect-get-type
  28. os_type VARCHAR(10) NOT NULL,
  29. -- http://libguestfs.org/guestfish.1.html#inspect-get-distro
  30. os_distro VARCHAR(20) NOT NULL,
  31. os_major TINYINT UNSIGNED NOT NULL,
  32. os_minor TINYINT UNSIGNED NOT NULL,
  33. -- http://libguestfs.org/guestfish.1.html#inspect-get-arch http://libguestfs.org/guestfish.1.html#file-architecture
  34. os_arch VARCHAR(10) NOT NULL,
  35. os_product_name VARCHAR(255) NOT NULL,
  36. active BOOLEAN NOT NULL DEFAULT TRUE,
  37. icon VARCHAR(255) NOT NULL,
  38. os_template_initialize_operate_set_id BIGINT UNSIGNED NOT NULL,
  39. PRIMARY KEY (id))
  40. ENGINE=InnoDB
  41. DEFAULT CHARSET=utf8;
  42. ALTER TABLE os_template_profile ADD INDEX (label);
  43. ALTER TABLE os_template_profile ADD INDEX (os_type);
  44. ALTER TABLE os_template_profile ADD INDEX (os_distro);
  45. ALTER TABLE os_template_profile ADD INDEX (os_product_name);
  46. -- 操作系统模板初始化操作集
  47. CREATE TABLE IF NOT EXISTS os_template_initialize_operate_set(
  48. id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  49. label VARCHAR(255) NOT NULL,
  50. description TEXT,
  51. active BOOLEAN NOT NULL DEFAULT TRUE,
  52. PRIMARY KEY (id))
  53. ENGINE=InnoDB
  54. DEFAULT CHARSET=utf8;
  55. ALTER TABLE os_template_initialize_operate_set ADD INDEX (label);
  56. -- 操作系统模板初始化操作细则
  57. CREATE TABLE IF NOT EXISTS os_template_initialize_operate(
  58. id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  59. os_template_initialize_operate_set_id BIGINT UNSIGNED NOT NULL,
  60. kind TINYINT UNSIGNED NOT NULL DEFAULT 0,
  61. sequence TINYINT UNSIGNED NOT NULL DEFAULT 0,
  62. path VARCHAR(255) NOT NULL,
  63. content TEXT,
  64. command TEXT,
  65. PRIMARY KEY (id))
  66. ENGINE=InnoDB
  67. DEFAULT CHARSET=utf8;
  68. ALTER TABLE os_template_initialize_operate ADD INDEX (os_template_initialize_operate_set_id);
  69. INSERT INTO os_template_initialize_operate_set (label, description, active) VALUES ('CentOS-Systemd', '用作 Redhat Systemd 系列的系统初始化。初始化操作依据 CentOS 7 来实现。', 1);
  70. INSERT INTO os_template_initialize_operate_set (label, description, active) VALUES ('CentOS-SysV', '用作 Redhat SysV 系列的系统初始化。初始化操作依据 CentOS 6.8 来实现。', 1);
  71. INSERT INTO os_template_initialize_operate_set (label, description, active) VALUES ('Gentoo-OpenRC', '用作 Gentoo OpenRC 系列的系统初始化。', 1);
  72. INSERT INTO os_template_initialize_operate_set (label, description, active) VALUES ('Windows', '用作 MS-Windows 系列的系统初始化。初始化操作依据 Windows 2012 来实现。', 1);
  73. -- For CentOS-Systemd
  74. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (1, 1, 0, '/etc/resolv.conf', 'nameserver {DNS1}
  75. nameserver {DNS2}', '');
  76. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (1, 1, 1, '/etc/sysconfig/network-scripts/ifcfg-eth0', 'DEVICE=eth0
  77. TYPE=Ethernet
  78. ONBOOT=yes
  79. BOOTPROTO="static"
  80. IPADDR={IP}
  81. NETMASK={NETMASK}
  82. GATEWAY={GATEWAY}
  83. DNS1={DNS1}
  84. DNS2={DNS2}
  85. IPV6INIT=no
  86. NAME=eth0', '');
  87. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (1, 1, 2, '/etc/hostname', '{HOSTNAME}', '');
  88. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (1, 0, 3, '', '', 'echo "root:{PASSWORD}" | chpasswd');
  89. -- For CentOS-SysV
  90. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (2, 1, 0, '/etc/resolv.conf', 'nameserver {DNS1}
  91. nameserver {DNS2}', '');
  92. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (2, 1, 1, '/etc/sysconfig/network-scripts/ifcfg-eth0', 'DEVICE=eth0
  93. TYPE=Ethernet
  94. ONBOOT=yes
  95. BOOTPROTO="static"
  96. IPADDR={IP}
  97. NETMASK={NETMASK}
  98. GATEWAY={GATEWAY}
  99. IPV6INIT=no
  100. NAME=eth0', '');
  101. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (2, 1, 2, '/etc/sysconfig/network', 'NETWORKING=yes
  102. HOSTNAME="{HOSTNAME}"', '');
  103. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (2, 0, 3, '', '', 'echo "root:{PASSWORD}" | chpasswd');
  104. -- For Gentoo-OpenRC
  105. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (3, 1, 0, '/etc/resolv.conf', 'nameserver {DNS1}
  106. nameserver {DNS2}', '');
  107. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (3, 1, 1, '/etc/conf.d/net', 'config_eth0="{IP}/{NETMASK}"
  108. routes_eth0="default via {GATEWAY}"', '');
  109. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (3, 1, 2, '/etc/conf.d/hostname', 'hostname="{HOSTNAME}"', '');
  110. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (3, 0, 3, '', '', 'echo "root:{PASSWORD}" | chpasswd');
  111. -- For Windows
  112. INSERT INTO os_template_initialize_operate (os_template_initialize_operate_set_id, kind, sequence, path, content, command) VALUES (4, 1, 0, '/Windows/jimv_init.bat', 'netsh interface ip set address name="Ethernet" source=static {IP} {NETMASK} {GATEWAY}
  113. netsh interface ip set dns "Ethernet" static {DNS1} primary
  114. netsh interface ip add dns "Ethernet" {DNS2}
  115. wmic computersystem where name="%COMPUTERNAME%" call rename name="{HOSTNAME}"
  116. net user Administrator {PASSWORD}
  117. timeout 3 > NUL
  118. sc delete JimVInit
  119. del C:\\Windows\\jimv_init.bat
  120. timeout 2 > NUL
  121. shutdown -r -t 0', '');
  122. INSERT INTO os_template_profile (label, description, os_type, os_distro, os_major, os_minor, os_arch, os_product_name, active, icon, os_template_initialize_operate_set_id)
  123. VALUES ('CentOS-7.4', 'CentOS 7.4。', 'linux', 'centos', 7, 4, 'x86_64', 'CentOS Linux release 7.4.1708 (Core)', 1, 'icon-os icon-os-centos', 1);
  124. INSERT INTO os_template_profile (label, description, os_type, os_distro, os_major, os_minor, os_arch, os_product_name, active, icon, os_template_initialize_operate_set_id)
  125. VALUES ('CentOS-6.8', 'CentOS 6.8。', 'linux', 'centos', 6, 8, 'x86_64', 'CentOS release 6.8 (Final)', 1, 'icon-os icon-os-centos', 2);
  126. INSERT INTO os_template_profile (label, description, os_type, os_distro, os_major, os_minor, os_arch, os_product_name, active, icon, os_template_initialize_operate_set_id)
  127. VALUES ('Gentoo-2.2', 'Gentoo 2.2。', 'linux', 'gentoo', 2, 2, 'x86_64', 'Gentoo Base System release 2.2', 1, 'icon-os icon-os-gentoo', 3);
  128. INSERT INTO os_template_profile (label, description, os_type, os_distro, os_major, os_minor, os_arch, os_product_name, active, icon, os_template_initialize_operate_set_id)
  129. VALUES ('Windows-2012-R2-Standard', 'Windows 2012 R2 Standard。', 'windows', 'windows', 6, 3, 'x86_64', 'Windows Server 2012 R2 Standard', 1, 'icon-os icon-os-windows', 4);