Advertisement
Guest User

Installing Discourse on Linode

a guest
Feb 18th, 2016
243
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 452.00 KB | None
  1.  
  2. [SSH] Server Version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
  3. [SSH] Logged in (password)
  4.  
  5. Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 4.4.0-x86_64-linode63 x86_64)
  6.  
  7. * Documentation: https://help.ubuntu.com/
  8.  
  9. root@localhost:~# wget -qO- https://get.docker.com/ | sh
  10. modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-x86_64-linode63/modules.dep.bin'
  11. Warning: current kernel is not supported by the linux-image-extra-virtual
  12. package. We have no AUFS support. Consider installing the packages
  13. linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.
  14. + sleep 10
  15. ^C
  16. root@localhost:~# ^C
  17. root@localhost:~# apt-get update
  18. Ign http://mirrors.linode.com trusty InRelease
  19. Get:1 http://mirrors.linode.com trusty-updates InRelease [65.9 kB]
  20. Get:2 http://mirrors.linode.com trusty-backports InRelease [65.9 kB]
  21. Hit http://mirrors.linode.com trusty Release.gpg
  22. Hit http://mirrors.linode.com trusty Release
  23. Get:3 http://mirrors.linode.com trusty-updates/main Sources [260 kB]
  24. Get:4 http://mirrors.linode.com trusty-updates/restricted Sources [5,351 B]
  25. Get:5 http://mirrors.linode.com trusty-updates/universe Sources [150 kB]
  26. Get:6 http://mirrors.linode.com trusty-updates/multiverse Sources [5,547 B]
  27. Get:7 http://mirrors.linode.com trusty-updates/main amd64 Packages [706 kB]
  28. Get:8 http://mirrors.linode.com trusty-updates/restricted amd64 Packages [15.9 kB]
  29. Get:9 http://mirrors.linode.com trusty-updates/universe amd64 Packages [337 kB]
  30. Get:10 http://mirrors.linode.com trusty-updates/multiverse amd64 Packages [13.2 kB]
  31. Get:11 http://mirrors.linode.com trusty-updates/main i386 Packages [683 kB]
  32. Get:12 http://mirrors.linode.com trusty-updates/restricted i386 Packages [15.6 kB]
  33. Get:13 http://mirrors.linode.com trusty-updates/universe i386 Packages [339 kB]
  34. Get:14 http://mirrors.linode.com trusty-updates/multiverse i386 Packages [13.4 kB]
  35. Get:15 http://mirrors.linode.com trusty-updates/main Translation-en [356 kB]
  36. Get:16 http://mirrors.linode.com trusty-updates/multiverse Translation-en [6,947 B]
  37. Get:17 http://mirrors.linode.com trusty-updates/restricted Translation-en [3,699 B]
  38. Get:18 http://mirrors.linode.com trusty-updates/universe Translation-en [180 kB]
  39. Get:19 http://mirrors.linode.com trusty-backports/main Sources [8,672 B]
  40. Get:20 http://mirrors.linode.com trusty-backports/restricted Sources [28 B]
  41. Get:21 http://mirrors.linode.com trusty-backports/universe Sources [33.2 kB]
  42. Get:22 http://mirrors.linode.com trusty-backports/multiverse Sources [1,898 B]
  43. Get:23 http://mirrors.linode.com trusty-backports/main amd64 Packages [9,787 B]
  44. Get:24 http://mirrors.linode.com trusty-backports/restricted amd64 Packages [28 B]
  45. Get:25 http://mirrors.linode.com trusty-backports/universe amd64 Packages [39.8 kB]
  46. Get:26 http://mirrors.linode.com trusty-backports/multiverse amd64 Packages [1,571 B]
  47. Get:27 http://mirrors.linode.com trusty-backports/main i386 Packages [9,814 B]
  48. Get:28 http://mirrors.linode.com trusty-backports/restricted i386 Packages [28 B]
  49. Get:29 http://mirrors.linode.com trusty-backports/universe i386 Packages [39.8 kB]
  50. Get:30 http://mirrors.linode.com trusty-backports/multiverse i386 Packages [1,552 B]
  51. Get:31 http://mirrors.linode.com trusty-backports/main Translation-en [5,843 B]
  52. Get:32 http://mirrors.linode.com trusty-backports/multiverse Translation-en [1,215 B]
  53. Get:33 http://mirrors.linode.com trusty-backports/restricted Translation-en [28 B]
  54. Get:34 http://mirrors.linode.com trusty-backports/universe Translation-en [34.6 kB]
  55. Hit http://mirrors.linode.com trusty/main Sources
  56. Hit http://mirrors.linode.com trusty/restricted Sources
  57. Hit http://mirrors.linode.com trusty/universe Sources
  58. Hit http://mirrors.linode.com trusty/multiverse Sources
  59. Hit http://mirrors.linode.com trusty/main amd64 Packages
  60. Hit http://mirrors.linode.com trusty/restricted amd64 Packages
  61. Hit http://mirrors.linode.com trusty/universe amd64 Packages
  62. Hit http://mirrors.linode.com trusty/multiverse amd64 Packages
  63. Hit http://mirrors.linode.com trusty/main i386 Packages
  64. Hit http://mirrors.linode.com trusty/restricted i386 Packages
  65. Hit http://mirrors.linode.com trusty/universe i386 Packages
  66. Hit http://mirrors.linode.com trusty/multiverse i386 Packages
  67. Hit http://mirrors.linode.com trusty/main Translation-en
  68. Hit http://mirrors.linode.com trusty/multiverse Translation-en
  69. Hit http://mirrors.linode.com trusty/restricted Translation-en
  70. Hit http://mirrors.linode.com trusty/universe Translation-en
  71. Ign http://mirrors.linode.com trusty/main Translation-en_US
  72. Ign http://mirrors.linode.com trusty/multiverse Translation-en_US
  73. Ign http://mirrors.linode.com trusty/restricted Translation-en_US
  74. Ign http://mirrors.linode.com trusty/universe Translation-en_US
  75. Get:35 http://security.ubuntu.com trusty-security InRelease [65.9 kB]
  76. Get:36 http://security.ubuntu.com trusty-security/main Sources [105 kB]
  77. Get:37 http://security.ubuntu.com trusty-security/restricted Sources [4,035 B]
  78. Get:38 http://security.ubuntu.com trusty-security/universe Sources [33.0 kB]
  79. Get:39 http://security.ubuntu.com trusty-security/multiverse Sources [2,767 B]
  80. Get:40 http://security.ubuntu.com trusty-security/main amd64 Packages [421 kB]
  81. Get:41 http://security.ubuntu.com trusty-security/restricted amd64 Packages [13.0 kB]
  82. Get:42 http://security.ubuntu.com trusty-security/universe amd64 Packages [124 kB]
  83. Get:43 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [4,990 B]
  84. Get:44 http://security.ubuntu.com trusty-security/main i386 Packages [393 kB]
  85. Get:45 http://security.ubuntu.com trusty-security/restricted i386 Packages [12.7 kB]
  86. Get:46 http://security.ubuntu.com trusty-security/universe i386 Packages [124 kB]
  87. Get:47 http://security.ubuntu.com trusty-security/multiverse i386 Packages [5,164 B]
  88. Get:48 http://security.ubuntu.com trusty-security/main Translation-en [231 kB]
  89. Get:49 http://security.ubuntu.com trusty-security/multiverse Translation-en [2,570 B]
  90. Get:50 http://security.ubuntu.com trusty-security/restricted Translation-en [3,206 B]
  91. Get:51 http://security.ubuntu.com trusty-security/universe Translation-en [72.5 kB]
  92. Fetched 5,026 kB in 15s (327 kB/s)
  93. Reading package lists... Done
  94. root@localhost:~# apt-get install linux-image-virtual kernel linux-image-extra-virtual
  95. Reading package lists... Done
  96. Building dependency tree
  97. Reading state information... Done
  98. E: Unable to locate package kernel
  99. root@localhost:~# apt-get install linux-image-virtual-kernel linux-image-extra-virtual
  100. Reading package lists... Done
  101. Building dependency tree
  102. Reading state information... Done
  103. E: Unable to locate package linux-image-virtual-kernel
  104. root@localhost:~# apt-get install linux-image-virtual linux-image-extra-virtual
  105. Reading package lists... Done
  106. Building dependency tree
  107. Reading state information... Done
  108. The following extra packages will be installed:
  109. crda grub-common grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common iw
  110. libfreetype6 linux-firmware linux-image-3.13.0-77-generic
  111. linux-image-extra-3.13.0-77-generic linux-image-generic os-prober
  112. wireless-regdb
  113. Suggested packages:
  114. multiboot-doc grub-emu xorriso desktop-base fdutils linux-doc-3.13.0
  115. linux-source-3.13.0 linux-tools linux-headers-3.13.0-77-generic
  116. The following NEW packages will be installed:
  117. crda grub-common grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common iw
  118. libfreetype6 linux-firmware linux-image-3.13.0-77-generic
  119. linux-image-extra-3.13.0-77-generic linux-image-extra-virtual
  120. linux-image-generic linux-image-virtual os-prober wireless-regdb
  121. 0 upgraded, 16 newly installed, 0 to remove and 160 not upgraded.
  122. Need to get 80.1 MB of archives.
  123. After this operation, 298 MB of additional disk space will be used.
  124. Do you want to continue? [Y/n] Y
  125. Get:1 http://mirrors.linode.com/ubuntu/ trusty-updates/main libfreetype6 amd64 2.5.2-1ubuntu2.5 [304 kB]
  126. Get:2 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-3.13.0-77-generic amd64 3.13.0-77.121 [15.2 MB]
  127. Get:3 http://mirrors.linode.com/ubuntu/ trusty/main wireless-regdb all 2013.02.13-1ubuntu1 [6,456 B]
  128. Get:4 http://mirrors.linode.com/ubuntu/ trusty/main crda amd64 1.1.2-1ubuntu2 [15.2 kB]
  129. Get:5 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub-common amd64 2.02~beta2-9ubuntu1.7 [1,678 kB]
  130. Get:6 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub2-common amd64 2.02~beta2-9ubuntu1.7 [501 kB]
  131. Get:7 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub-pc-bin amd64 2.02~beta2-9ubuntu1.7 [882 kB]
  132. Get:8 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub-pc amd64 2.02~beta2-9ubuntu1.7 [173 kB]
  133. Get:9 http://mirrors.linode.com/ubuntu/ trusty/main grub-gfxpayload-lists amd64 0.6 [3,506 B]
  134. Get:10 http://mirrors.linode.com/ubuntu/ trusty/main iw amd64 3.4-1 [51.7 kB]
  135. Get:11 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-firmware all 1.127.20 [24.5 MB]
  136. Get:12 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-extra-3.13.0-77-generic amd64 3.13.0-77.121 [36.7 MB]
  137. Get:13 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-generic amd64 3.13.0.77.83 [2,234 B]
  138. Get:14 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-extra-virtual amd64 3.13.0.77.83 [1,764 B]
  139. Get:15 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-virtual amd64 3.13.0.77.83 [2,232 B]
  140. Get:16 http://mirrors.linode.com/ubuntu/ trusty-updates/main os-prober amd64 1.63ubuntu1.1 [18.0 kB]
  141. Fetched 80.1 MB in 1s (42.9 MB/s)
  142. Preconfiguring packages ...
  143. Selecting previously unselected package libfreetype6:amd64.
  144. (Reading database ... 23405 files and directories currently installed.)
  145. Preparing to unpack .../libfreetype6_2.5.2-1ubuntu2.5_amd64.deb ...
  146. Unpacking libfreetype6:amd64 (2.5.2-1ubuntu2.5) ...
  147. Selecting previously unselected package linux-image-3.13.0-77-generic.
  148. Preparing to unpack .../linux-image-3.13.0-77-generic_3.13.0-77.121_amd64.deb ...
  149. Done.
  150. Unpacking linux-image-3.13.0-77-generic (3.13.0-77.121) ...
  151. Selecting previously unselected package wireless-regdb.
  152. Preparing to unpack .../wireless-regdb_2013.02.13-1ubuntu1_all.deb ...
  153. Unpacking wireless-regdb (2013.02.13-1ubuntu1) ...
  154. Selecting previously unselected package crda.
  155. Preparing to unpack .../crda_1.1.2-1ubuntu2_amd64.deb ...
  156. Unpacking crda (1.1.2-1ubuntu2) ...
  157. Selecting previously unselected package grub-common.
  158. Preparing to unpack .../grub-common_2.02~beta2-9ubuntu1.7_amd64.deb ...
  159. Unpacking grub-common (2.02~beta2-9ubuntu1.7) ...
  160. Selecting previously unselected package grub2-common.
  161. Preparing to unpack .../grub2-common_2.02~beta2-9ubuntu1.7_amd64.deb ...
  162. Unpacking grub2-common (2.02~beta2-9ubuntu1.7) ...
  163. Selecting previously unselected package grub-pc-bin.
  164. Preparing to unpack .../grub-pc-bin_2.02~beta2-9ubuntu1.7_amd64.deb ...
  165. Unpacking grub-pc-bin (2.02~beta2-9ubuntu1.7) ...
  166. Selecting previously unselected package grub-pc.
  167. Preparing to unpack .../grub-pc_2.02~beta2-9ubuntu1.7_amd64.deb ...
  168. Unpacking grub-pc (2.02~beta2-9ubuntu1.7) ...
  169. Selecting previously unselected package grub-gfxpayload-lists.
  170. Preparing to unpack .../grub-gfxpayload-lists_0.6_amd64.deb ...
  171. Unpacking grub-gfxpayload-lists (0.6) ...
  172. Selecting previously unselected package iw.
  173. Preparing to unpack .../archives/iw_3.4-1_amd64.deb ...
  174. Unpacking iw (3.4-1) ...
  175. Selecting previously unselected package linux-firmware.
  176. Preparing to unpack .../linux-firmware_1.127.20_all.deb ...
  177. Unpacking linux-firmware (1.127.20) ...
  178. Selecting previously unselected package linux-image-extra-3.13.0-77-generic.
  179. Preparing to unpack .../linux-image-extra-3.13.0-77-generic_3.13.0-77.121_amd64.deb ...
  180. Unpacking linux-image-extra-3.13.0-77-generic (3.13.0-77.121) ...
  181. Selecting previously unselected package linux-image-generic.
  182. Preparing to unpack .../linux-image-generic_3.13.0.77.83_amd64.deb ...
  183. Unpacking linux-image-generic (3.13.0.77.83) ...
  184. Selecting previously unselected package linux-image-extra-virtual.
  185. Preparing to unpack .../linux-image-extra-virtual_3.13.0.77.83_amd64.deb ...
  186. Unpacking linux-image-extra-virtual (3.13.0.77.83) ...
  187. Selecting previously unselected package linux-image-virtual.
  188. Preparing to unpack .../linux-image-virtual_3.13.0.77.83_amd64.deb ...
  189. Unpacking linux-image-virtual (3.13.0.77.83) ...
  190. Selecting previously unselected package os-prober.
  191. Preparing to unpack .../os-prober_1.63ubuntu1.1_amd64.deb ...
  192. Unpacking os-prober (1.63ubuntu1.1) ...
  193. Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
  194. Processing triggers for ureadahead (0.100.0-16) ...
  195. Processing triggers for install-info (5.2.0.dfsg.1-2) ...
  196. Setting up libfreetype6:amd64 (2.5.2-1ubuntu2.5) ...
  197. Setting up linux-image-3.13.0-77-generic (3.13.0-77.121) ...
  198. Running depmod.
  199. update-initramfs: deferring update (hook will be called later)
  200. Examining /etc/kernel/postinst.d.
  201. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
  202. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
  203. update-initramfs: Generating /boot/initrd.img-3.13.0-77-generic
  204. run-parts: executing /etc/kernel/postinst.d/update-notifier 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
  205. Setting up wireless-regdb (2013.02.13-1ubuntu1) ...
  206. Setting up crda (1.1.2-1ubuntu2) ...
  207. Setting up grub-common (2.02~beta2-9ubuntu1.7) ...
  208. Setting up iw (3.4-1) ...
  209. Setting up linux-firmware (1.127.20) ...
  210. Setting up linux-image-extra-3.13.0-77-generic (3.13.0-77.121) ...
  211. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
  212. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
  213. update-initramfs: Generating /boot/initrd.img-3.13.0-77-generic
  214. run-parts: executing /etc/kernel/postinst.d/update-notifier 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
  215. Setting up linux-image-generic (3.13.0.77.83) ...
  216. Setting up linux-image-extra-virtual (3.13.0.77.83) ...
  217. Setting up linux-image-virtual (3.13.0.77.83) ...
  218. Setting up os-prober (1.63ubuntu1.1) ...
  219. Processing triggers for ureadahead (0.100.0-16) ...
  220. Setting up grub2-common (2.02~beta2-9ubuntu1.7) ...
  221. Setting up grub-pc-bin (2.02~beta2-9ubuntu1.7) ...
  222. Setting up grub-gfxpayload-lists (0.6) ...
  223. Setting up grub-pc (2.02~beta2-9ubuntu1.7) ...
  224.  
  225. Creating config file /etc/default/grub with new version
  226. Installing for i386-pc platform.
  227. grub-install: warning: File system `ext2' doesn't support embedding.
  228. grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
  229. Installation finished. No error reported.
  230. Installing for i386-pc platform.
  231. grub-install: warning: File system `ext2' doesn't support embedding.
  232. grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
  233. Installation finished. No error reported.
  234. Generating grub configuration file ...
  235. Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
  236. Found linux image: /boot/vmlinuz-3.13.0-77-generic
  237. Found initrd image: /boot/initrd.img-3.13.0-77-generic
  238. done
  239. Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
  240. root@localhost:~# wget -qO- https://get.docker.com/ | sh
  241. modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-x86_64-linode63/modules.dep.bin'
  242. Warning: current kernel is not supported by the linux-image-extra-virtual
  243. package. We have no AUFS support. Consider installing the packages
  244. linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.
  245. + sleep 10
  246. ^C
  247. root@localhost:~# apt-get install linux-image-extra-virtual
  248. Reading package lists... Done
  249. Building dependency tree
  250. Reading state information... Done
  251. linux-image-extra-virtual is already the newest version.
  252. 0 upgraded, 0 newly installed, 0 to remove and 160 not upgraded.
  253. root@localhost:~# apt-get install linux-image-virtual kernel
  254. Reading package lists... Done
  255. Building dependency tree
  256. Reading state information... Done
  257. E: Unable to locate package kernel
  258. root@localhost:~# apt-get install linux-image-virtual
  259. Reading package lists... Done
  260. Building dependency tree
  261. Reading state information... Done
  262. linux-image-virtual is already the newest version.
  263. 0 upgraded, 0 newly installed, 0 to remove and 160 not upgraded.
  264. root@localhost:~# wget -qO- https://get.docker.com/ | sh
  265. modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-x86_64-linode63/modules.dep.bin'
  266. Warning: current kernel is not supported by the linux-image-extra-virtual
  267. package. We have no AUFS support. Consider installing the packages
  268. linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.
  269. + sleep 10
  270. + sh -c apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D || apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  271. Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.O2et8KCcAZ --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  272. gpg: requesting key 2C52609D from hkp server pool.sks-keyservers.net
  273. gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <docker@docker.com>" imported
  274. gpg: Total number processed: 1
  275. gpg: imported: 1 (RSA: 1)
  276. + sh -c mkdir -p /etc/apt/sources.list.d
  277. + dpkg --print-architecture
  278. + sh -c echo deb [arch=amd64] https://apt.dockerproject.org/repo ubuntu-trusty main > /etc/apt/sources.list.d/docker.list
  279. + sh -c sleep 3; apt-get update; apt-get install -y -q docker-engine
  280. Ign http://mirrors.linode.com trusty InRelease
  281. Hit http://mirrors.linode.com trusty-updates InRelease
  282. Hit http://mirrors.linode.com trusty-backports InRelease
  283. Hit http://mirrors.linode.com trusty Release.gpg
  284. Hit http://mirrors.linode.com trusty Release
  285. Hit http://mirrors.linode.com trusty-updates/main Sources
  286. Hit http://mirrors.linode.com trusty-updates/restricted Sources
  287. Hit http://mirrors.linode.com trusty-updates/universe Sources
  288. Hit http://mirrors.linode.com trusty-updates/multiverse Sources
  289. Hit http://mirrors.linode.com trusty-updates/main amd64 Packages
  290. Hit http://mirrors.linode.com trusty-updates/restricted amd64 Packages
  291. Hit http://mirrors.linode.com trusty-updates/universe amd64 Packages
  292. Hit http://mirrors.linode.com trusty-updates/multiverse amd64 Packages
  293. Hit http://mirrors.linode.com trusty-updates/main i386 Packages
  294. Hit http://mirrors.linode.com trusty-updates/restricted i386 Packages
  295. Hit http://mirrors.linode.com trusty-updates/universe i386 Packages
  296. Hit http://mirrors.linode.com trusty-updates/multiverse i386 Packages
  297. Hit http://mirrors.linode.com trusty-updates/main Translation-en
  298. Hit http://mirrors.linode.com trusty-updates/multiverse Translation-en
  299. Hit http://mirrors.linode.com trusty-updates/restricted Translation-en
  300. Hit http://mirrors.linode.com trusty-updates/universe Translation-en
  301. Hit http://mirrors.linode.com trusty-backports/main Sources
  302. Hit http://mirrors.linode.com trusty-backports/restricted Sources
  303. Hit http://mirrors.linode.com trusty-backports/universe Sources
  304. Hit http://mirrors.linode.com trusty-backports/multiverse Sources
  305. Hit http://mirrors.linode.com trusty-backports/main amd64 Packages
  306. Hit http://mirrors.linode.com trusty-backports/restricted amd64 Packages
  307. Hit http://mirrors.linode.com trusty-backports/universe amd64 Packages
  308. Hit http://mirrors.linode.com trusty-backports/multiverse amd64 Packages
  309. Hit http://mirrors.linode.com trusty-backports/main i386 Packages
  310. Hit http://mirrors.linode.com trusty-backports/restricted i386 Packages
  311. Hit http://mirrors.linode.com trusty-backports/universe i386 Packages
  312. Hit http://mirrors.linode.com trusty-backports/multiverse i386 Packages
  313. Hit http://mirrors.linode.com trusty-backports/main Translation-en
  314. Hit http://mirrors.linode.com trusty-backports/multiverse Translation-en
  315. Hit http://mirrors.linode.com trusty-backports/restricted Translation-en
  316. Hit http://mirrors.linode.com trusty-backports/universe Translation-en
  317. Hit http://mirrors.linode.com trusty/main Sources
  318. Hit http://mirrors.linode.com trusty/restricted Sources
  319. Hit http://mirrors.linode.com trusty/universe Sources
  320. Hit http://mirrors.linode.com trusty/multiverse Sources
  321. Hit http://mirrors.linode.com trusty/main amd64 Packages
  322. Hit http://mirrors.linode.com trusty/restricted amd64 Packages
  323. Hit http://mirrors.linode.com trusty/universe amd64 Packages
  324. Hit http://mirrors.linode.com trusty/multiverse amd64 Packages
  325. Hit http://mirrors.linode.com trusty/main i386 Packages
  326. Hit http://mirrors.linode.com trusty/restricted i386 Packages
  327. Hit http://mirrors.linode.com trusty/universe i386 Packages
  328. Hit http://mirrors.linode.com trusty/multiverse i386 Packages
  329. Hit http://mirrors.linode.com trusty/main Translation-en
  330. Hit http://mirrors.linode.com trusty/multiverse Translation-en
  331. Hit http://mirrors.linode.com trusty/restricted Translation-en
  332. Hit http://security.ubuntu.com trusty-security InRelease
  333. Hit http://mirrors.linode.com trusty/universe Translation-en
  334. Ign http://mirrors.linode.com trusty/main Translation-en_US
  335. Ign http://mirrors.linode.com trusty/multiverse Translation-en_US
  336. Ign http://mirrors.linode.com trusty/restricted Translation-en_US
  337. Ign http://mirrors.linode.com trusty/universe Translation-en_US
  338. Hit http://security.ubuntu.com trusty-security/main Sources
  339. Hit http://security.ubuntu.com trusty-security/restricted Sources
  340. Hit http://security.ubuntu.com trusty-security/universe Sources
  341. Get:1 https://apt.dockerproject.org ubuntu-trusty InRelease
  342. Ign https://apt.dockerproject.org ubuntu-trusty InRelease
  343. Get:2 https://apt.dockerproject.org ubuntu-trusty Release
  344. Get:3 https://apt.dockerproject.org ubuntu-trusty/main amd64 Packages
  345. Hit http://security.ubuntu.com trusty-security/multiverse Sources
  346. Get:4 https://apt.dockerproject.org ubuntu-trusty/main Translation-en_US
  347. Hit http://security.ubuntu.com trusty-security/main amd64 Packages
  348. Hit http://security.ubuntu.com trusty-security/restricted amd64 Packages
  349. Hit http://security.ubuntu.com trusty-security/universe amd64 Packages
  350. Hit http://security.ubuntu.com trusty-security/multiverse amd64 Packages
  351. Hit http://security.ubuntu.com trusty-security/main i386 Packages
  352. Hit http://security.ubuntu.com trusty-security/restricted i386 Packages
  353. Hit http://security.ubuntu.com trusty-security/universe i386 Packages
  354. Hit http://security.ubuntu.com trusty-security/multiverse i386 Packages
  355. Hit http://security.ubuntu.com trusty-security/main Translation-en
  356. Hit http://security.ubuntu.com trusty-security/multiverse Translation-en
  357. Hit http://security.ubuntu.com trusty-security/restricted Translation-en
  358. Hit http://security.ubuntu.com trusty-security/universe Translation-en
  359. Ign https://apt.dockerproject.org ubuntu-trusty/main Translation-en_US
  360. Ign https://apt.dockerproject.org ubuntu-trusty/main Translation-en
  361. Fetched 24.6 kB in 3s (7,849 B/s)
  362. Reading package lists... Done
  363. Reading package lists...
  364. Building dependency tree...
  365. Reading state information...
  366. The following extra packages will be installed:
  367. apparmor aufs-tools cgroup-lite git git-man liberror-perl
  368. libsystemd-journal0
  369. Suggested packages:
  370. apparmor-profiles apparmor-docs apparmor-utils git-daemon-run
  371. git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch
  372. git-bzr git-cvs git-mediawiki git-svn
  373. Recommended packages:
  374. yubico-piv-tool
  375. The following NEW packages will be installed:
  376. apparmor aufs-tools cgroup-lite docker-engine git git-man liberror-perl
  377. libsystemd-journal0
  378. 0 upgraded, 8 newly installed, 0 to remove and 160 not upgraded.
  379. Need to get 12.6 MB of archives.
  380. After this operation, 66.8 MB of additional disk space will be used.
  381. Get:1 http://mirrors.linode.com/ubuntu/ trusty-updates/main libsystemd-journal0 amd64 204-5ubuntu20.18 [49.9 kB]
  382. Get:2 http://mirrors.linode.com/ubuntu/ trusty-updates/main apparmor amd64 2.8.95~2430-0ubuntu5.3 [319 kB]
  383. Get:3 http://mirrors.linode.com/ubuntu/ trusty/universe aufs-tools amd64 1:3.2+20130722-1.1 [92.3 kB]
  384. Get:4 http://mirrors.linode.com/ubuntu/ trusty/main liberror-perl all 0.17-1.1 [21.1 kB]
  385. Get:5 http://mirrors.linode.com/ubuntu/ trusty-updates/main git-man all 1:1.9.1-1ubuntu0.2 [699 kB]
  386. Get:6 http://mirrors.linode.com/ubuntu/ trusty-updates/main git amd64 1:1.9.1-1ubuntu0.2 [2,701 kB]
  387. Get:7 http://mirrors.linode.com/ubuntu/ trusty/main cgroup-lite all 1.9 [3,918 B]
  388. Fetched 12.6 MB in 0s (27.7 MB/s)
  389. Preconfiguring packages ...
  390. Selecting previously unselected package libsystemd-journal0:amd64.
  391. (Reading database ... 29739 files and directories currently installed.)
  392. Preparing to unpack .../libsystemd-journal0_204-5ubuntu20.18_amd64.deb ...
  393. Unpacking libsystemd-journal0:amd64 (204-5ubuntu20.18) ...
  394. Selecting previously unselected package apparmor.
  395. Preparing to unpack .../apparmor_2.8.95~2430-0ubuntu5.3_amd64.deb ...
  396. Unpacking apparmor (2.8.95~2430-0ubuntu5.3) ...
  397. Selecting previously unselected package aufs-tools.
  398. Preparing to unpack .../aufs-tools_1%3a3.2+20130722-1.1_amd64.deb ...
  399. Unpacking aufs-tools (1:3.2+20130722-1.1) ...
  400. Selecting previously unselected package docker-engine.
  401. Preparing to unpack .../docker-engine_1.10.1-0~trusty_amd64.deb ...
  402. Unpacking docker-engine (1.10.1-0~trusty) ...
  403. Selecting previously unselected package liberror-perl.
  404. Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ...
  405. Unpacking liberror-perl (0.17-1.1) ...
  406. Selecting previously unselected package git-man.
  407. Preparing to unpack .../git-man_1%3a1.9.1-1ubuntu0.2_all.deb ...
  408. Unpacking git-man (1:1.9.1-1ubuntu0.2) ...
  409. Selecting previously unselected package git.
  410. Preparing to unpack .../git_1%3a1.9.1-1ubuntu0.2_amd64.deb ...
  411. Unpacking git (1:1.9.1-1ubuntu0.2) ...
  412. Selecting previously unselected package cgroup-lite.
  413. Preparing to unpack .../cgroup-lite_1.9_all.deb ...
  414. Unpacking cgroup-lite (1.9) ...
  415. Processing triggers for ureadahead (0.100.0-16) ...
  416. Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
  417. Setting up libsystemd-journal0:amd64 (204-5ubuntu20.18) ...
  418. Setting up apparmor (2.8.95~2430-0ubuntu5.3) ...
  419. Setting up aufs-tools (1:3.2+20130722-1.1) ...
  420. Setting up docker-engine (1.10.1-0~trusty) ...
  421. docker start/running, process 17907
  422. Setting up liberror-perl (0.17-1.1) ...
  423. Setting up git-man (1:1.9.1-1ubuntu0.2) ...
  424. Setting up git (1:1.9.1-1ubuntu0.2) ...
  425. Setting up cgroup-lite (1.9) ...
  426. cgroup-lite start/running
  427. Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
  428. Processing triggers for ureadahead (0.100.0-16) ...
  429. + sh -c docker version
  430. Client:
  431. Version: 1.10.1
  432. API version: 1.22
  433. Go version: go1.5.3
  434. Git commit: 9e83765
  435. Built: Thu Feb 11 19:27:08 2016
  436. OS/Arch: linux/amd64
  437.  
  438. Server:
  439. Version: 1.10.1
  440. API version: 1.22
  441. Go version: go1.5.3
  442. Git commit: 9e83765
  443. Built: Thu Feb 11 19:27:08 2016
  444. OS/Arch: linux/amd64
  445.  
  446. If you would like to use Docker as a non-root user, you should now consider
  447. adding your user to the "docker" group with something like:
  448.  
  449. sudo usermod -aG docker your-user
  450.  
  451. Remember that you will have to log out and back in for this to take effect!
  452.  
  453. root@localhost:~# mkdir /var/discourse
  454. root@localhost:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse
  455. Cloning into '/var/discourse'...
  456. cd /var/discourse
  457. cp samples/standalone.yml containers/app.ymlremote: Counting objects: 2099, done.
  458. remote: Total 2099 (delta 0), reused 0 (delta 0), pack-reused 2099
  459. Receiving objects: 100% (2099/2099), 461.03 KiB | 0 bytes/s, done.
  460. Resolving deltas: 100% (1239/1239), done.
  461. Checking connectivity... done.
  462. root@localhost:~# cd /var/discourse
  463. root@localhost:/var/discourse# cp samples/standalone.yml containers/app.yml
  464. root@localhost:/var/discourse# apt-get install mc lrzsz htop
  465. Reading package lists... Done
  466. Building dependency tree
  467. Reading state information... Done
  468. The following extra packages will be installed:
  469. libssh2-1 mc-data
  470. Suggested packages:
  471. minicom arj catdvi texlive-binaries dbview djvulibre-bin genisoimage gv
  472. imagemagick odt2txt poppler-utils python-boto python-tz xpdf pdf-viewer zip
  473. The following NEW packages will be installed:
  474. htop libssh2-1 lrzsz mc mc-data
  475. 0 upgraded, 5 newly installed, 0 to remove and 160 not upgraded.
  476. Need to get 1,795 kB of archives.
  477. After this operation, 7,619 kB of additional disk space will be used.
  478. Do you want to continue? [Y/n] Y
  479. Get:1 http://mirrors.linode.com/ubuntu/ trusty/universe libssh2-1 amd64 1.4.3-2 [66.3 kB]
  480. Get:2 http://mirrors.linode.com/ubuntu/ trusty/universe htop amd64 1.0.2-3 [68.0 kB]
  481. Get:3 http://mirrors.linode.com/ubuntu/ trusty/universe lrzsz amd64 0.12.21-7 [74.3 kB]
  482. Get:4 http://mirrors.linode.com/ubuntu/ trusty/universe mc-data all 3:4.8.11-1 [1,134 kB]
  483. Get:5 http://mirrors.linode.com/ubuntu/ trusty/universe mc amd64 3:4.8.11-1 [453 kB]
  484. Fetched 1,795 kB in 0s (15.8 MB/s)
  485. Selecting previously unselected package libssh2-1:amd64.
  486. (Reading database ... 30783 files and directories currently installed.)
  487. Preparing to unpack .../libssh2-1_1.4.3-2_amd64.deb ...
  488. Unpacking libssh2-1:amd64 (1.4.3-2) ...
  489. Selecting previously unselected package htop.
  490. Preparing to unpack .../htop_1.0.2-3_amd64.deb ...
  491. Unpacking htop (1.0.2-3) ...
  492. Selecting previously unselected package lrzsz.
  493. Preparing to unpack .../lrzsz_0.12.21-7_amd64.deb ...
  494. Unpacking lrzsz (0.12.21-7) ...
  495. Selecting previously unselected package mc-data.
  496. Preparing to unpack .../mc-data_3%3a4.8.11-1_all.deb ...
  497. Unpacking mc-data (3:4.8.11-1) ...
  498. Selecting previously unselected package mc.
  499. Preparing to unpack .../mc_3%3a4.8.11-1_amd64.deb ...
  500. Unpacking mc (3:4.8.11-1) ...
  501. Processing triggers for mime-support (3.54ubuntu1) ...
  502. Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
  503. Setting up libssh2-1:amd64 (1.4.3-2) ...
  504. Setting up htop (1.0.2-3) ...
  505. Setting up lrzsz (0.12.21-7) ...
  506. Setting up mc-data (3:4.8.11-1) ...
  507. Setting up mc (3:4.8.11-1) ...
  508. Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
  509. root@localhost:/var/discourse# mcedit containers/app.yml
  510.  
  511. root@localhost:/var/discourse# ./launcher bootstrap app ; ./launcher start app
  512.  
  513. WARNING: We are about to start downloading the Discourse base image
  514. This process may take anywhere between a few minutes to an hour, depending on your network speed
  515.  
  516. Please be patient
  517.  
  518. Unable to find image 'discourse/discourse:1.0.16' locally
  519. 1.0.16: Pulling from discourse/discourse
  520. 8387d9ff0016: Pulling fs layer
  521. 5841741bdd04: Pulling fs layer
  522. 8991ac096c2f: Pulling fs layer
  523. a3ed95caeb02: Pulling fs layer
  524. a3ed95caeb02: Waiting
  525. 8387d9ff0016: Verifying Checksum
  526. 8387d9ff0016: Download complete
  527. a3ed95caeb02: Verifying Checksum
  528. a3ed95caeb02: Download complete
  529. 8387d9ff0016: Pull complete
  530. 8387d9ff0016: Pull complete
  531. 8991ac096c2f: Verifying Checksum
  532. 8991ac096c2f: Download complete
  533. 5841741bdd04: Verifying Checksum
  534. 5841741bdd04: Download complete
  535. 5841741bdd04: Pull complete
  536. 5841741bdd04: Pull complete
  537. 8991ac096c2f: Pull complete
  538. 8991ac096c2f: Pull complete
  539. a3ed95caeb02: Pull complete
  540. a3ed95caeb02: Pull complete
  541. Digest: sha256:284ee060e6c060c7772b3219f7130843b1f56760a81edb2912736e3e608d8d2a
  542. Status: Downloaded newer image for discourse/discourse:1.0.16
  543. cd /pups && git pull && /pups/bin/pups --stdin
  544. Already up-to-date.
  545. I, [2016-02-18T06:48:48.478230 #37] INFO -- : Loading --stdin
  546. I, [2016-02-18T06:48:48.484819 #37] INFO -- : > mkdir -p /shared/postgres_run
  547. I, [2016-02-18T06:48:48.487956 #37] INFO -- :
  548. I, [2016-02-18T06:48:48.488618 #37] INFO -- : > chown postgres:postgres /shared/postgres_run
  549. I, [2016-02-18T06:48:48.490630 #37] INFO -- :
  550. I, [2016-02-18T06:48:48.491294 #37] INFO -- : > chmod 775 /shared/postgres_run
  551. I, [2016-02-18T06:48:48.493019 #37] INFO -- :
  552. I, [2016-02-18T06:48:48.493645 #37] INFO -- : > rm -fr /var/run/postgresql
  553. I, [2016-02-18T06:48:48.495433 #37] INFO -- :
  554. I, [2016-02-18T06:48:48.496030 #37] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
  555. I, [2016-02-18T06:48:48.498037 #37] INFO -- :
  556. I, [2016-02-18T06:48:48.498898 #37] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
  557. 2016/02/18 06:48:48 socat[45] E connect(4, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
  558. I, [2016-02-18T06:48:48.507461 #37] INFO -- :
  559. I, [2016-02-18T06:48:48.508141 #37] INFO -- : > rm -fr /shared/postgres_run/.s*
  560. I, [2016-02-18T06:48:48.510360 #37] INFO -- :
  561. I, [2016-02-18T06:48:48.511009 #37] INFO -- : > rm -fr /shared/postgres_run/*.pid
  562. I, [2016-02-18T06:48:48.512707 #37] INFO -- :
  563. I, [2016-02-18T06:48:48.513278 #37] INFO -- : > mkdir -p /shared/postgres_run/9.3-main.pg_stat_tmp
  564. I, [2016-02-18T06:48:48.514694 #37] INFO -- :
  565. I, [2016-02-18T06:48:48.515342 #37] INFO -- : > chown postgres:postgres /shared/postgres_run/9.3-main.pg_stat_tmp
  566. I, [2016-02-18T06:48:48.516904 #37] INFO -- :
  567. I, [2016-02-18T06:48:48.520704 #37] INFO -- : File > /etc/service/postgres/run chmod: +x
  568. I, [2016-02-18T06:48:48.524521 #37] INFO -- : File > /etc/runit/3.d/99-postgres chmod: +x
  569. I, [2016-02-18T06:48:48.528061 #37] INFO -- : File > /root/upgrade_postgres chmod: +x
  570. I, [2016-02-18T06:48:48.529503 #37] INFO -- : > chown -R root /var/lib/postgresql/9.3/main
  571. I, [2016-02-18T06:48:48.537903 #37] INFO -- :
  572. I, [2016-02-18T06:48:48.538519 #37] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/9.3/bin/initdb -D /shared/postgres_data || exit 0
  573.  
  574. WARNING: enabling "trust" authentication for local connections
  575. You can change this by editing pg_hba.conf or using the option -A, or
  576. --auth-local and --auth-host, the next time you run initdb.
  577. I, [2016-02-18T06:48:49.987670 #37] INFO -- : The files belonging to this database system will be owned by user "postgres".
  578. This user must also own the server process.
  579.  
  580. The database cluster will be initialized with locale "en_US.UTF-8".
  581. The default database encoding has accordingly been set to "UTF8".
  582. The default text search configuration will be set to "english".
  583.  
  584. Data page checksums are disabled.
  585.  
  586. fixing permissions on existing directory /shared/postgres_data ... ok
  587. creating subdirectories ... ok
  588. selecting default max_connections ... 100
  589. selecting default shared_buffers ... 128MB
  590. creating configuration files ... ok
  591. creating template1 database in /shared/postgres_data/base/1 ... ok
  592. initializing pg_authid ... ok
  593. initializing dependencies ... ok
  594. creating system views ... ok
  595. loading system objects' descriptions ... ok
  596. creating collations ... ok
  597. creating conversions ... ok
  598. creating dictionaries ... ok
  599. setting privileges on built-in objects ... ok
  600. creating information schema ... ok
  601. loading PL/pgSQL server-side language ... ok
  602. vacuuming database template1 ... ok
  603. copying template1 to template0 ... ok
  604. copying template1 to postgres ... ok
  605. syncing data to disk ... ok
  606.  
  607. Success. You can now start the database server using:
  608.  
  609. /usr/lib/postgresql/9.3/bin/postgres -D /shared/postgres_data
  610. or
  611. /usr/lib/postgresql/9.3/bin/pg_ctl -D /shared/postgres_data -l logfile start
  612.  
  613.  
  614. I, [2016-02-18T06:48:49.987882 #37] INFO -- : > chown -R postgres:postgres /shared/postgres_data
  615. I, [2016-02-18T06:48:49.992011 #37] INFO -- :
  616. I, [2016-02-18T06:48:49.992328 #37] INFO -- : > chown -R postgres:postgres /var/run/postgresql
  617. I, [2016-02-18T06:48:49.993679 #37] INFO -- :
  618. I, [2016-02-18T06:48:49.994328 #37] INFO -- : > /root/upgrade_postgres
  619. I, [2016-02-18T06:48:49.997276 #37] INFO -- :
  620. I, [2016-02-18T06:48:49.997813 #37] INFO -- : > rm /root/upgrade_postgres
  621. I, [2016-02-18T06:48:49.998992 #37] INFO -- :
  622. I, [2016-02-18T06:48:50.000067 #37] INFO -- : Replacing data_directory = '/var/lib/postgresql/9.3/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/9.3/main/postgresql.conf
  623. I, [2016-02-18T06:48:50.001367 #37] INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/9.3/main/postgresql.conf
  624. I, [2016-02-18T06:48:50.002236 #37] INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/9.3/main/postgresql.conf
  625. I, [2016-02-18T06:48:50.002922 #37] INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/9.3/main/postgresql.conf
  626. I, [2016-02-18T06:48:50.003561 #37] INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/9.3/main/postgresql.conf
  627. I, [2016-02-18T06:48:50.004240 #37] INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/9.3/main/postgresql.conf
  628. I, [2016-02-18T06:48:50.005119 #37] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
  629. I, [2016-02-18T06:48:50.006746 #37] INFO -- :
  630. I, [2016-02-18T06:48:50.007165 #37] INFO -- : Replacing (?-mix:#?max_wal_senders *=.*) with max_wal_senders = $db_max_wal_senders in /etc/postgresql/9.3/main/postgresql.conf
  631. I, [2016-02-18T06:48:50.007806 #37] INFO -- : Replacing (?-mix:#?wal_level *=.*) with wal_level = $db_wal_level in /etc/postgresql/9.3/main/postgresql.conf
  632. I, [2016-02-18T06:48:50.008458 #37] INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/9.3/main/postgresql.conf
  633. I, [2016-02-18T06:48:50.009129 #37] INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/9.3/main/postgresql.conf
  634. I, [2016-02-18T06:48:50.009762 #37] INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/9.3/main/postgresql.conf
  635. I, [2016-02-18T06:48:50.010761 #37] INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres peer in /etc/postgresql/9.3/main/pg_hba.conf
  636. I, [2016-02-18T06:48:50.011394 #37] INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/9.3/main/pg_hba.conf
  637. I, [2016-02-18T06:48:50.012229 #37] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.3/bin/postmaster -D /etc/postgresql/9.3/main
  638. I, [2016-02-18T06:48:50.034808 #37] INFO -- : > sleep 5
  639. 2016-02-18 06:48:50 UTC [110-1] LOG: database system was shut down at 2016-02-18 06:48:49 UTC
  640. 2016-02-18 06:48:50 UTC [110-2] LOG: MultiXact member wraparound protections are now enabled
  641. 2016-02-18 06:48:50 UTC [107-1] LOG: database system is ready to accept connections
  642. 2016-02-18 06:48:50 UTC [114-1] LOG: autovacuum launcher started
  643. I, [2016-02-18T06:48:55.046345 #37] INFO -- :
  644. I, [2016-02-18T06:48:55.047555 #37] INFO -- : > su postgres -c 'createdb discourse' || true
  645. 2016-02-18 06:48:55 UTC [119-1] postgres@postgres LOG: duration: 229.607 ms statement: CREATE DATABASE discourse;
  646.  
  647. I, [2016-02-18T06:48:55.339330 #37] INFO -- :
  648. I, [2016-02-18T06:48:55.340225 #37] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
  649. I, [2016-02-18T06:48:55.393526 #37] INFO -- : CREATE ROLE
  650.  
  651. I, [2016-02-18T06:48:55.394664 #37] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
  652. I, [2016-02-18T06:48:55.442392 #37] INFO -- : GRANT
  653.  
  654. I, [2016-02-18T06:48:55.443474 #37] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
  655. I, [2016-02-18T06:48:55.490968 #37] INFO -- : ALTER SCHEMA
  656.  
  657. I, [2016-02-18T06:48:55.492013 #37] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
  658. I, [2016-02-18T06:48:55.558832 #37] INFO -- : CREATE EXTENSION
  659.  
  660. I, [2016-02-18T06:48:55.559870 #37] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
  661. I, [2016-02-18T06:48:55.615292 #37] INFO -- : CREATE EXTENSION
  662.  
  663. I, [2016-02-18T06:48:55.616305 #37] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
  664. I, [2016-02-18T06:48:55.680716 #37] INFO -- : CREATE EXTENSION
  665.  
  666. I, [2016-02-18T06:48:55.681753 #37] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
  667. I, [2016-02-18T06:48:55.735184 #37] INFO -- : CREATE EXTENSION
  668.  
  669. I, [2016-02-18T06:48:55.736584 #37] INFO -- : > sudo -u postgres psql discourse
  670. I, [2016-02-18T06:48:55.739120 #37] INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');
  671.  
  672. I, [2016-02-18T06:48:55.788541 #37] INFO -- : File > /var/lib/postgresql/take-database-backup chmod: +x
  673. I, [2016-02-18T06:48:55.791397 #37] INFO -- : File > /var/spool/cron/crontabs/postgres chmod:
  674. I, [2016-02-18T06:48:55.792015 #37] INFO -- : > echo postgres installed!
  675. I, [2016-02-18T06:48:55.793313 #37] INFO -- : postgres installed!
  676.  
  677. I, [2016-02-18T06:48:55.796640 #37] INFO -- : File > /etc/service/redis/run chmod: +x
  678. I, [2016-02-18T06:48:55.799846 #37] INFO -- : File > /etc/runit/3.d/10-redis chmod: +x
  679. I, [2016-02-18T06:48:55.800448 #37] INFO -- : Replacing daemonize yes with in /etc/redis/redis.conf
  680. I, [2016-02-18T06:48:55.801326 #37] INFO -- : Replacing (?-mix:^pidfile.*$) with in /etc/redis/redis.conf
  681. I, [2016-02-18T06:48:55.802850 #37] INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
  682. I, [2016-02-18T06:48:55.804600 #37] INFO -- :
  683. I, [2016-02-18T06:48:55.805056 #37] INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
  684. I, [2016-02-18T06:48:55.805811 #37] INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
  685. I, [2016-02-18T06:48:55.806792 #37] INFO -- : > echo redis installed
  686. I, [2016-02-18T06:48:55.807993 #37] INFO -- : redis installed
  687.  
  688. I, [2016-02-18T06:48:55.808571 #37] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
  689. I, [2016-02-18T06:48:55.861846 #37] INFO -- :
  690. I, [2016-02-18T06:48:55.862875 #37] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
  691. I, [2016-02-18T06:48:55.916264 #37] INFO -- :
  692. I, [2016-02-18T06:48:55.921148 #37] INFO -- : File > /etc/runit/1.d/copy-env chmod: +x
  693. I, [2016-02-18T06:48:55.924251 #37] INFO -- : File > /etc/runit/1.d/ensure-web-nginx-read chmod: +x
  694. I, [2016-02-18T06:48:55.927379 #37] INFO -- : File > /etc/service/unicorn/run chmod: +x
  695. I, [2016-02-18T06:48:55.930537 #37] INFO -- : File > /etc/service/nginx/run chmod: +x
  696. I, [2016-02-18T06:48:55.933597 #37] INFO -- : File > /etc/runit/3.d/01-nginx chmod: +x
  697. I, [2016-02-18T06:48:55.936832 #37] INFO -- : File > /etc/runit/3.d/02-unicorn chmod: +x
  698. I, [2016-02-18T06:48:55.937130 #37] INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
  699. I, [2016-02-18T06:48:55.938036 #37] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
  700. I, [2016-02-18T06:48:55.942940 #37] INFO -- : > cd /var/www/discourse && git reset --hard
  701. 235:M 18 Feb 06:48:55.948 * Redis 3.0.6 (00000000/0) 64 bit, standalone mode, port 6379, pid 235 ready to start.
  702. 235:M 18 Feb 06:48:55.948 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
  703. 235:M 18 Feb 06:48:55.948 # Server started, Redis version 3.0.6
  704. 235:M 18 Feb 06:48:55.948 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
  705. 235:M 18 Feb 06:48:55.948 * The server is now ready to accept connections on port 6379
  706. I, [2016-02-18T06:48:56.521926 #37] INFO -- : HEAD is now at 2a24403 Merge pull request #3976 from tgxworld/upgrade_rails
  707.  
  708. I, [2016-02-18T06:48:56.522497 #37] INFO -- : > cd /var/www/discourse && git clean -f
  709. I, [2016-02-18T06:48:56.538222 #37] INFO -- :
  710. I, [2016-02-18T06:48:56.538728 #37] INFO -- : > cd /var/www/discourse && git remote set-branches --add origin master
  711. I, [2016-02-18T06:48:56.542133 #37] INFO -- :
  712. I, [2016-02-18T06:48:56.542232 #37] INFO -- : > cd /var/www/discourse && git pull
  713. From https://github.com/discourse/discourse
  714. 2a24403..f0e942f master -> origin/master
  715. f42d1c8..35d6e64 beta -> origin/beta
  716. + 411b83a...262c066 osqa-import -> origin/osqa-import (forced update)
  717. * [new branch] prof-master -> origin/prof-master
  718. * [new branch] revert-3954-patch-5 -> origin/revert-3954-patch-5
  719. 304fc70..9f56d61 stable -> origin/stable
  720. 2a24403..f0e942f tests-passed -> origin/tests-passed
  721. + 7be1889...b9bcdb9 vdom -> origin/vdom (forced update)
  722. * [new tag] v1.4.5 -> v1.4.5
  723. * [new tag] v1.5.0.beta10 -> v1.5.0.beta10
  724. I, [2016-02-18T06:48:59.807421 #37] INFO -- : Updating 2a24403..f0e942f
  725. Fast-forward
  726. Gemfile | 5 +-
  727. Gemfile.lock | 24 +-
  728. .../google_branding/logo_calendar_128px.png | Bin 0 -> 4345 bytes
  729. .../favicons/google_branding/logo_docs_128px.png | Bin 0 -> 2503 bytes
  730. .../favicons/google_branding/logo_drive_128px.png | Bin 0 -> 5694 bytes
  731. .../favicons/google_branding/logo_forms_128px.png | Bin 0 -> 2898 bytes
  732. .../favicons/google_branding/logo_sheets_128px.png | Bin 0 -> 2675 bytes
  733. .../favicons/google_branding/logo_slides_128px.png | Bin 0 -> 2541 bytes
  734. .../admin/controllers/admin-reports.js.es6 | 32 +-
  735. .../controllers/modals/admin-incoming-email.js.es6 | 17 +
  736. .../javascripts/admin/models/admin-user.js.es6 | 8 +-
  737. .../javascripts/admin/models/incoming-email.js.es6 | 8 +
  738. app/assets/javascripts/admin/models/report.js.es6 | 5 +-
  739. .../admin/routes/admin-email-rejected.js.es6 | 14 +-
  740. .../admin/routes/admin-route-map.js.es6 | 2 +-
  741. .../javascripts/admin/routes/admin-user.js.es6 | 4 +-
  742. .../javascripts/admin/templates/email-rejected.hbs | 4 +-
  743. .../javascripts/admin/templates/email-sent.hbs | 8 +-
  744. .../javascripts/admin/templates/email-skipped.hbs | 8 +-
  745. .../admin/templates/modal/admin_incoming_email.hbs | 98 +
  746. app/assets/javascripts/admin/templates/reports.hbs | 5 +-
  747. .../admin/views/modals/admin-incoming-email.js.es6 | 7 +
  748. .../discourse/adapters/notification.js.es6 | 3 +-
  749. .../javascripts/discourse/adapters/rest.js.es6 | 24 +-
  750. .../discourse/components/composer-editor.js.es6 | 28 +-
  751. .../discourse/components/d-editor.js.es6 | 52 +-
  752. .../discourse/components/date-picker.js.es6 | 8 +
  753. .../discourse/components/header-extra-info.js.es6 | 5 +
  754. .../discourse/components/mobile-nav.js.es6 | 38 +
  755. .../discourse/components/notification-item.js.es6 | 22 +-
  756. .../discourse/components/user-menu.js.es6 | 2 +-
  757. .../discourse/controllers/composer.js.es6 | 8 +-
  758. .../javascripts/discourse/controllers/flag.js.es6 | 3 +-
  759. .../discourse/controllers/raw-email.js.es6 | 15 +-
  760. .../discourse/controllers/static.js.es6 | 10 +
  761. .../javascripts/discourse/controllers/topic.js.es6 | 8 +
  762. .../discourse/controllers/user-activity.js.es6 | 2 +-
  763. .../controllers/user-notifications.js.es6 | 2 +
  764. .../controllers/user-private-messages.js.es6 | 6 +-
  765. .../javascripts/discourse/controllers/user.js.es6 | 6 +-
  766. .../discourse/dialects/bold_italics_dialect.js | 4 +-
  767. .../discourse/dialects/category_hashtag_dialect.js | 4 +-
  768. .../javascripts/discourse/dialects/dialect.js | 29 +-
  769. .../discourse/initializers/signup-cta.js.es6 | 4 +-
  770. .../subscribe-user-notifications.js.es6 | 51 +-
  771. .../javascripts/discourse/lib/autocomplete.js.es6 | 37 +-
  772. .../discourse/lib/category-hashtags.js.es6 | 22 +
  773. .../javascripts/discourse/lib/plugin-api.js.es6 | 27 +
  774. .../javascripts/discourse/lib/safari-hacks.js.es6 | 6 +-
  775. .../javascripts/discourse/lib/stale-result.js.es6 | 12 -
  776. app/assets/javascripts/discourse/mixins/ajax.js | 10 +
  777. .../discourse/mixins/stale-local-storage.js.es6 | 34 -
  778. .../javascripts/discourse/models/post.js.es6 | 3 +-
  779. .../javascripts/discourse/models/store.js.es6 | 38 +-
  780. .../javascripts/discourse/models/user.js.es6 | 57 +-
  781. .../pre-initializers/dynamic-route-builders.js.es6 | 1 +
  782. .../discourse/routes/application.js.es6 | 15 +-
  783. .../routes/discovery-category-with-id.js.es6 | 10 +-
  784. .../discourse/routes/full-page-search.js.es6 | 12 +
  785. .../javascripts/discourse/routes/signup.js.es6 | 30 +-
  786. .../javascripts/discourse/routes/user.js.es6 | 15 -
  787. .../discourse/templates/components/d-editor.hbs | 5 +-
  788. .../templates/components/header-extra-info.hbs | 4 +-
  789. .../discourse/templates/components/mobile-nav.hbs | 1 +
  790. .../templates/components/toggle-summary.hbs | 4 +-
  791. .../discourse/templates/components/topic-map.hbs | 2 -
  792. .../javascripts/discourse/templates/composer.hbs | 13 +
  793. .../discourse/templates/full-page-search.hbs | 5 +
  794. .../javascripts/discourse/templates/header.hbs | 1 +
  795. .../templates/mobile/components/mobile-nav.hbs | 4 +
  796. .../javascripts/discourse/templates/static.hbs | 6 +-
  797. .../javascripts/discourse/templates/topic.hbs | 14 +-
  798. .../discourse/templates/user/activity.hbs | 9 +-
  799. .../discourse/templates/user/messages.hbs | 7 +-
  800. .../discourse/templates/user/notifications.hbs | 4 +-
  801. .../discourse/templates/user/preferences.hbs | 32 +-
  802. .../javascripts/discourse/templates/user/user.hbs | 7 +-
  803. .../javascripts/discourse/views/topic.js.es6 | 25 +-
  804. app/assets/javascripts/main_include.js | 1 -
  805. .../stylesheets/common/admin/admin_base.scss | 42 +
  806. .../stylesheets/common/base/_topic-list.scss | 5 +-
  807. app/assets/stylesheets/common/base/discourse.scss | 14 +
  808. app/assets/stylesheets/common/base/onebox.scss | 23 +
  809. app/assets/stylesheets/common/base/search.scss | 4 +
  810. app/assets/stylesheets/common/base/topic-post.scss | 2 +-
  811. .../stylesheets/common/components/badges.css.scss | 25 +-
  812. .../stylesheets/common/components/hashtag.scss | 4 +-
  813. .../stylesheets/common/foundation/colors.scss | 1 -
  814. app/assets/stylesheets/desktop/topic-post.scss | 33 +-
  815. app/assets/stylesheets/desktop/user.scss | 13 +-
  816. app/assets/stylesheets/mobile/compose.scss | 71 +-
  817. app/assets/stylesheets/mobile/discourse.scss | 67 +
  818. app/assets/stylesheets/mobile/user.scss | 5 +
  819. app/controllers/admin/email_controller.rb | 15 +-
  820. .../admin/email_templates_controller.rb | 3 +-
  821. app/controllers/admin/reports_controller.rb | 14 +-
  822. app/controllers/admin/users_controller.rb | 6 +-
  823. app/controllers/application_controller.rb | 23 +
  824. app/controllers/email_controller.rb | 9 +-
  825. app/controllers/export_csv_controller.rb | 2 +-
  826. app/controllers/posts_controller.rb | 2 +-
  827. app/controllers/topics_controller.rb | 12 +-
  828. app/jobs/regular/export_csv_file.rb | 82 +-
  829. .../regular/notify_mailing_list_subscribers.rb | 16 +-
  830. app/jobs/regular/pull_hotlinked_images.rb | 2 +-
  831. app/jobs/regular/update_top_redirection.rb | 2 +-
  832. app/jobs/regular/user_email.rb | 151 +-
  833. app/jobs/scheduled/clean_up_email_logs.rb | 18 +
  834. app/jobs/scheduled/enqueue_digest_emails.rb | 8 +-
  835. app/jobs/scheduled/pending_flags_reminder.rb | 2 +-
  836. app/jobs/scheduled/poll_mailbox.rb | 8 +-
  837. app/mailers/user_notifications.rb | 82 +-
  838. app/models/admin_dashboard_data.rb | 7 +-
  839. app/models/category_user.rb | 15 +-
  840. app/models/discourse_single_sign_on.rb | 2 +-
  841. app/models/global_setting.rb | 5 +-
  842. app/models/group_archived_message.rb | 12 +
  843. app/models/group_user.rb | 2 +-
  844. app/models/notification.rb | 45 +-
  845. app/models/post.rb | 4 +
  846. app/models/report.rb | 17 +-
  847. app/models/topic_tracking_state.rb | 7 +-
  848. app/models/topic_user.rb | 55 +-
  849. app/models/user.rb | 197 +-
  850. app/models/user_archived_message.rb | 17 +
  851. app/models/user_email_observer.rb | 77 +-
  852. app/models/user_history.rb | 12 +-
  853. app/models/user_option.rb | 100 +
  854. app/models/user_profile.rb | 1 +
  855. app/models/user_profile_view.rb | 7 +-
  856. app/models/user_summary.rb | 6 +-
  857. app/models/user_visit.rb | 19 +-
  858. app/serializers/basic_category_serializer.rb | 4 +-
  859. .../category_featured_users_serializer.rb | 5 -
  860. app/serializers/category_serializer.rb | 6 +
  861. app/serializers/current_user_serializer.rb | 33 +-
  862. app/serializers/email_log_serializer.rb | 12 +-
  863. .../incoming_email_details_serializer.rb | 82 +
  864. app/serializers/listable_topic_serializer.rb | 2 +-
  865. app/serializers/suggested_topic_serializer.rb | 15 +
  866. app/serializers/topic_poster_serializer.rb | 2 -
  867. app/serializers/topic_view_serializer.rb | 4 +-
  868. app/serializers/user_option_serializer.rb | 31 +
  869. app/serializers/user_serializer.rb | 33 +-
  870. app/services/anonymous_shadow_creator.rb | 7 +-
  871. app/services/badge_granter.rb | 19 +-
  872. app/services/post_alerter.rb | 75 +-
  873. app/services/staff_action_logger.rb | 32 +
  874. app/services/user_anonymizer.rb | 13 +-
  875. app/services/user_updater.rb | 35 +-
  876. app/views/common/_discourse_javascript.html.erb | 17 +-
  877. app/views/email/_post.html.erb | 30 +-
  878. config/discourse_defaults.conf | 11 +
  879. config/initializers/004-message_bus.rb | 3 +-
  880. config/locales/client.ar.yml | 8 +-
  881. config/locales/client.bs_BA.yml | 7 +-
  882. config/locales/client.cs.yml | 9 +-
  883. config/locales/client.da.yml | 10 +-
  884. config/locales/client.de.yml | 55 +-
  885. config/locales/client.en.yml | 47 +-
  886. config/locales/client.es.yml | 77 +-
  887. config/locales/client.fa_IR.yml | 10 +-
  888. config/locales/client.fi.yml | 84 +-
  889. config/locales/client.fr.yml | 120 +-
  890. config/locales/client.he.yml | 37 +-
  891. config/locales/client.it.yml | 50 +-
  892. config/locales/client.ja.yml | 30 +-
  893. config/locales/client.ko.yml | 119 +-
  894. config/locales/client.nb_NO.yml | 74 +-
  895. config/locales/client.nl.yml | 33 +-
  896. config/locales/client.pl_PL.yml | 10 +-
  897. config/locales/client.pt.yml | 16 +-
  898. config/locales/client.pt_BR.yml | 9 +-
  899. config/locales/client.ro.yml | 7 +-
  900. config/locales/client.ru.yml | 232 +-
  901. config/locales/client.sk.yml | 115 +-
  902. config/locales/client.sq.yml | 26 +-
  903. config/locales/client.sv.yml | 8 +-
  904. config/locales/client.te.yml | 7 +-
  905. config/locales/client.tr_TR.yml | 8 +-
  906. config/locales/client.uk.yml | 4 +-
  907. config/locales/client.zh_CN.yml | 8 +-
  908. config/locales/client.zh_TW.yml | 8 +-
  909. config/locales/server.ar.yml | 115 +-
  910. config/locales/server.bs_BA.yml | 43 -
  911. config/locales/server.de.yml | 124 +-
  912. config/locales/server.en.yml | 75 +-
  913. config/locales/server.es.yml | 81 +-
  914. config/locales/server.fa_IR.yml | 17 +-
  915. config/locales/server.fi.yml | 171 +-
  916. config/locales/server.fr.yml | 315 +-
  917. config/locales/server.he.yml | 42 +-
  918. config/locales/server.it.yml | 20 +-
  919. config/locales/server.ja.yml | 113 +-
  920. config/locales/server.ko.yml | 59 +-
  921. config/locales/server.nb_NO.yml | 25 +-
  922. config/locales/server.nl.yml | 90 +-
  923. config/locales/server.pl_PL.yml | 5 +-
  924. config/locales/server.pt.yml | 41 +-
  925. config/locales/server.pt_BR.yml | 31 +-
  926. config/locales/server.ro.yml | 36 -
  927. config/locales/server.ru.yml | 41 +-
  928. config/locales/server.sk.yml | 825 ++-
  929. config/locales/server.sq.yml | 123 +-
  930. config/locales/server.sv.yml | 2 -
  931. config/locales/server.te.yml | 2 -
  932. config/locales/server.tr_TR.yml | 33 +-
  933. config/locales/server.zh_CN.yml | 118 +-
  934. config/locales/server.zh_TW.yml | 4 +-
  935. config/nginx.sample.conf | 8 +-
  936. config/routes.rb | 7 +-
  937. config/site_settings.yml | 11 +-
  938. db/fixtures/009_users.rb | 61 +-
  939. .../20000225050318_add_schema_migration_details.rb | 30 +
  940. db/migrate/20140929204155_migrate_tos_setting.rb | 7 +-
  941. ..._change_default_notification_level_on_groups.rb | 6 +
  942. ...02_migrate_uncategorized_description_setting.rb | 11 +
  943. db/migrate/20160201181320_fix_email_logs.rb | 16 +
  944. .../20160206210202_remove_invalid_websites.rb | 5 +
  945. ...5075528_add_unread_pm_index_to_notifications.rb | 6 +
  946. db/migrate/20160225050317_add_user_options.rb | 76 +
  947. ...20160225050318_allow_defaults_on_users_table.rb | 10 +
  948. ...050319_move_tracking_options_to_user_options.rb | 16 +
  949. docs/DEVELOPMENT-OSX-NATIVE.md | 2 +-
  950. .../postgresql_fallback_adapter.rb | 117 +
  951. lib/auth/google_oauth2_authenticator.rb | 5 +-
  952. lib/backup_restore/backup_restore.rb | 2 +-
  953. lib/distributed_cache.rb | 7 +-
  954. lib/email/message_builder.rb | 6 +-
  955. lib/email/receiver.rb | 72 +-
  956. lib/email/sender.rb | 52 +-
  957. lib/freedom_patches/schema_migration_details.rb | 54 +
  958. lib/global_path.rb | 9 +
  959. lib/guardian/post_guardian.rb | 2 +-
  960. lib/guardian/topic_guardian.rb | 5 +-
  961. lib/import_export/category_exporter.rb | 89 +
  962. lib/import_export/category_importer.rb | 75 +
  963. lib/import_export/import_export.rb | 26 +
  964. lib/import_export/topic_exporter.rb | 96 +
  965. lib/import_export/topic_importer.rb | 67 +
  966. lib/javascripts/moment.js | 5348 +++++++++++---------
  967. lib/javascripts/moment_locale/af.js | 82 +-
  968. lib/javascripts/moment_locale/ar-ma.js | 81 +-
  969. lib/javascripts/moment_locale/ar-sa.js | 89 +-
  970. lib/javascripts/moment_locale/ar-tn.js | 57 +
  971. lib/javascripts/moment_locale/ar.js | 133 +-
  972. lib/javascripts/moment_locale/az.js | 133 +-
  973. lib/javascripts/moment_locale/be.js | 114 +-
  974. lib/javascripts/moment_locale/bg.js | 78 +-
  975. lib/javascripts/moment_locale/bn.js | 91 +-
  976. lib/javascripts/moment_locale/bo.js | 91 +-
  977. lib/javascripts/moment_locale/br.js | 80 +-
  978. lib/javascripts/moment_locale/bs.js | 69 +-
  979. lib/javascripts/moment_locale/ca.js | 89 +-
  980. lib/javascripts/moment_locale/cs.js | 76 +-
  981. lib/javascripts/moment_locale/cv.js | 86 +-
  982. lib/javascripts/moment_locale/cy.js | 80 +-
  983. lib/javascripts/moment_locale/da.js | 78 +-
  984. lib/javascripts/moment_locale/de-at.js | 79 +-
  985. lib/javascripts/moment_locale/de.js | 77 +-
  986. lib/javascripts/moment_locale/dv.js | 99 +
  987. lib/javascripts/moment_locale/el.js | 98 +-
  988. lib/javascripts/moment_locale/en-au.js | 76 +-
  989. lib/javascripts/moment_locale/en-ca.js | 78 +-
  990. lib/javascripts/moment_locale/en-gb.js | 78 +-
  991. lib/javascripts/moment_locale/en-ie.js | 67 +
  992. lib/javascripts/moment_locale/en-nz.js | 66 +
  993. lib/javascripts/moment_locale/eo.js | 88 +-
  994. lib/javascripts/moment_locale/es.js | 80 +-
  995. lib/javascripts/moment_locale/et.js | 58 +-
  996. lib/javascripts/moment_locale/eu.js | 86 +-
  997. lib/javascripts/moment_locale/fa.js | 44 +-
  998. lib/javascripts/moment_locale/fi.js | 72 +-
  999. lib/javascripts/moment_locale/fo.js | 78 +-
  1000. lib/javascripts/moment_locale/fr-ca.js | 82 +-
  1001. lib/javascripts/moment_locale/fr-ch.js | 62 +
  1002. lib/javascripts/moment_locale/fr.js | 80 +-
  1003. lib/javascripts/moment_locale/fy.js | 71 +
  1004. lib/javascripts/moment_locale/gd.js | 76 +
  1005. lib/javascripts/moment_locale/gl.js | 82 +-
  1006. lib/javascripts/moment_locale/he.js | 99 +-
  1007. lib/javascripts/moment_locale/hi.js | 102 +-
  1008. lib/javascripts/moment_locale/hr.js | 70 +-
  1009. lib/javascripts/moment_locale/hu.js | 64 +-
  1010. lib/javascripts/moment_locale/hy-am.js | 117 +-
  1011. lib/javascripts/moment_locale/id.js | 92 +-
  1012. lib/javascripts/moment_locale/is.js | 61 +-
  1013. lib/javascripts/moment_locale/it.js | 89 +-
  1014. lib/javascripts/moment_locale/ja.js | 85 +-
  1015. lib/javascripts/moment_locale/jv.js | 83 +
  1016. lib/javascripts/moment_locale/ka.js | 118 +-
  1017. lib/javascripts/moment_locale/kk.js | 87 +
  1018. lib/javascripts/moment_locale/km.js | 79 +-
  1019. lib/javascripts/moment_locale/ko.js | 99 +-
  1020. lib/javascripts/moment_locale/lb.js | 87 +-
  1021. lib/javascripts/moment_locale/lo.js | 69 +
  1022. lib/javascripts/moment_locale/lt.js | 127 +-
  1023. lib/javascripts/moment_locale/lv.js | 101 +-
  1024. lib/javascripts/moment_locale/me.js | 109 +
  1025. lib/javascripts/moment_locale/mk.js | 84 +-
  1026. lib/javascripts/moment_locale/ml.js | 91 +-
  1027. lib/javascripts/moment_locale/mr.js | 142 +-
  1028. lib/javascripts/moment_locale/ms-my.js | 90 +-
  1029. lib/javascripts/moment_locale/ms.js | 82 +
  1030. lib/javascripts/moment_locale/my.js | 79 +-
  1031. lib/javascripts/moment_locale/nb.js | 80 +-
  1032. lib/javascripts/moment_locale/nb_NO.js | 46 -
  1033. lib/javascripts/moment_locale/ne.js | 114 +-
  1034. lib/javascripts/moment_locale/nl.js | 80 +-
  1035. lib/javascripts/moment_locale/nn.js | 78 +-
  1036. lib/javascripts/moment_locale/pl.js | 75 +-
  1037. lib/javascripts/moment_locale/pt-br.js | 78 +-
  1038. lib/javascripts/moment_locale/pt.js | 78 +-
  1039. lib/javascripts/moment_locale/pt_BR.js | 46 -
  1040. lib/javascripts/moment_locale/ro.js | 72 +-
  1041. lib/javascripts/moment_locale/ru.js | 184 +-
  1042. lib/javascripts/moment_locale/se.js | 61 +
  1043. lib/javascripts/moment_locale/si.js | 66 +
  1044. lib/javascripts/moment_locale/sk.js | 72 +-
  1045. lib/javascripts/moment_locale/sl.js | 140 +-
  1046. lib/javascripts/moment_locale/sq.js | 86 +-
  1047. lib/javascripts/moment_locale/sr-cyrl.js | 55 +-
  1048. lib/javascripts/moment_locale/sr.js | 55 +-
  1049. lib/javascripts/moment_locale/sv.js | 82 +-
  1050. lib/javascripts/moment_locale/sw.js | 58 +
  1051. lib/javascripts/moment_locale/ta.js | 177 +-
  1052. lib/javascripts/moment_locale/te.js | 88 +
  1053. lib/javascripts/moment_locale/th.js | 85 +-
  1054. lib/javascripts/moment_locale/tl-ph.js | 80 +-
  1055. lib/javascripts/moment_locale/tlh.js | 119 +
  1056. lib/javascripts/moment_locale/tr.js | 122 +-
  1057. lib/javascripts/moment_locale/tzl.js | 87 +
  1058. lib/javascripts/moment_locale/tzm-latn.js | 79 +-
  1059. lib/javascripts/moment_locale/tzm.js | 79 +-
  1060. lib/javascripts/moment_locale/uk.js | 107 +-
  1061. lib/javascripts/moment_locale/uz.js | 77 +-
  1062. lib/javascripts/moment_locale/vi.js | 88 +-
  1063. lib/javascripts/moment_locale/zh-cn.js | 143 +-
  1064. lib/javascripts/moment_locale/zh-tw.js | 127 +-
  1065. lib/javascripts/moment_locale/zh_CN.js | 73 -
  1066. lib/javascripts/moment_locale/zh_TW.js | 73 -
  1067. lib/js_locale_helper.rb | 9 +
  1068. lib/onebox/engine/discourse_local_onebox.rb | 4 +-
  1069. lib/post_creator.rb | 9 +-
  1070. lib/pretty_text.rb | 3 +-
  1071. lib/site_setting_extension.rb | 10 +-
  1072. lib/tasks/assets.rake | 4 +-
  1073. lib/topic_creator.rb | 3 +-
  1074. lib/topic_query.rb | 152 +-
  1075. lib/topic_view.rb | 1 -
  1076. lib/topics_bulk_action.rb | 8 +-
  1077. lib/user_name_suggester.rb | 3 +-
  1078. .../pop3_polling_enabled_setting_validator.rb | 2 +-
  1079. lib/validators/post_validator.rb | 2 +
  1080. lib/validators/reply_by_email_enabled_validator.rb | 23 +
  1081. lib/version.rb | 2 +-
  1082. plugins/lazyYT/plugin.rb | 3 +-
  1083. plugins/poll/config/locales/client.fi.yml | 2 +-
  1084. plugins/poll/config/locales/client.fr.yml | 10 +-
  1085. plugins/poll/config/locales/server.ru.yml | 2 +
  1086. public/images/welcome/notification-panel-2x.png | Bin 4295 -> 3799 bytes
  1087. .../images/welcome/topic-list-select-areas-2x.png | Bin 8524 -> 11719 bytes
  1088. public/images/welcome/username-completion-2x.png | Bin 9860 -> 22709 bytes
  1089. script/discourse | 45 +
  1090. script/import_scripts/discuz_x.rb | 480 +-
  1091. script/import_scripts/phpbb3/settings.yml | 3 +-
  1092. .../phpbb3/support/smiley_processor.rb | 2 +-
  1093. script/import_scripts/quandora/README.md | 21 +
  1094. script/import_scripts/quandora/export.rb | 30 +
  1095. script/import_scripts/quandora/import.rb | 94 +
  1096. script/import_scripts/quandora/quandora_api.rb | 54 +
  1097. .../import_scripts/quandora/quandora_question.rb | 109 +
  1098. script/import_scripts/quandora/test/config.ex.yml | 6 +
  1099. script/import_scripts/quandora/test/test_data.rb | 179 +
  1100. .../quandora/test/test_quandora_api.rb | 90 +
  1101. .../quandora/test/test_quandora_question.rb | 136 +
  1102. script/import_scripts/xenforo.rb | 2 +-
  1103. script/import_scripts/zoho.rb | 22 +
  1104. .../postgresql_fallback_adapter_spec.rb | 84 +
  1105. spec/components/distributed_cache_spec.rb | 3 +-
  1106. spec/components/email/message_builder_spec.rb | 2 +-
  1107. spec/components/email/receiver_spec.rb | 36 +-
  1108. spec/components/email/sender_spec.rb | 8 +-
  1109. .../schema_migration_details_spec.rb | 31 +
  1110. spec/components/global_path_spec.rb | 30 +
  1111. spec/components/guardian_spec.rb | 17 +-
  1112. spec/components/js_locale_helper_spec.rb | 10 +
  1113. .../onebox/engine/discourse_local_onebox_spec.rb | 57 +
  1114. spec/components/post_creator_spec.rb | 9 +-
  1115. spec/components/site_setting_extension_spec.rb | 37 +-
  1116. spec/components/topic_query_spec.rb | 76 +-
  1117. spec/components/user_name_suggester_spec.rb | 10 +-
  1118. spec/components/validators/post_validator_spec.rb | 49 +
  1119. .../reply_by_email_enabled_validator_spec.rb | 31 +
  1120. spec/controllers/admin/groups_controller_spec.rb | 2 +-
  1121. spec/controllers/admin/users_controller_spec.rb | 4 +-
  1122. spec/controllers/application_controller_spec.rb | 29 +
  1123. spec/controllers/email_controller_spec.rb | 29 +-
  1124. spec/fabricators/user_option_fabricator.rb | 2 +
  1125. spec/fixtures/emails/attached_txt_file.eml | 30 +
  1126. spec/fixtures/emails/blocked_sender.eml | 9 +
  1127. .../{inline_attachment.eml => inline_image.eml} | 0
  1128. ...with_attachments.eml => no_body_with_image.eml} | 0
  1129. spec/fixtures/emails/no_return_path.eml | 7 -
  1130. spec/fixtures/emails/no_subject.eml | 9 +
  1131. spec/fixtures/emails/previous_replies.eml | 2 +-
  1132. spec/fixtures/emails/signature.eml | 12 -
  1133. spec/fixtures/emails/staged_sender.eml | 2 +-
  1134. spec/integrity/i18n_spec.rb | 2 +-
  1135. spec/jobs/clean_up_email_logs_spec.rb | 23 +
  1136. spec/jobs/notify_mailing_list_subscribers_spec.rb | 60 +-
  1137. spec/jobs/user_email_spec.rb | 105 +-
  1138. spec/mailers/user_notifications_spec.rb | 88 +-
  1139. spec/models/category_user_spec.rb | 36 +-
  1140. spec/models/notification_spec.rb | 2 +-
  1141. spec/models/post_action_spec.rb | 7 +-
  1142. spec/models/topic_user_spec.rb | 13 +-
  1143. spec/models/user_archived_message_spec.rb | 21 +
  1144. spec/models/user_email_observer_spec.rb | 48 +-
  1145. spec/models/user_option_spec.rb | 92 +
  1146. spec/models/user_profile_spec.rb | 12 +
  1147. spec/models/user_spec.rb | 170 +-
  1148. spec/models/user_summary_spec.rb | 36 +
  1149. spec/serializers/user_serializer_spec.rb | 25 +-
  1150. spec/services/anonymous_shadow_creator_spec.rb | 3 +
  1151. spec/services/badge_granter_spec.rb | 10 +-
  1152. spec/services/user_anonymizer_spec.rb | 14 +-
  1153. spec/services/user_updater_spec.rb | 32 +-
  1154. spec/support/helpers.rb | 9 +-
  1155. .../acceptance/category-hashtag-test.js.es6 | 34 +
  1156. test/javascripts/fixtures/user_fixtures.js.es6 | 2 +-
  1157. test/javascripts/lib/markdown-test.js.es6 | 2 +-
  1158. test/javascripts/lib/utilities-test.js.es6 | 1 +
  1159. 433 files changed, 15860 insertions(+), 8822 deletions(-)
  1160. create mode 100644 app/assets/images/favicons/google_branding/logo_calendar_128px.png
  1161. create mode 100644 app/assets/images/favicons/google_branding/logo_docs_128px.png
  1162. create mode 100644 app/assets/images/favicons/google_branding/logo_drive_128px.png
  1163. create mode 100644 app/assets/images/favicons/google_branding/logo_forms_128px.png
  1164. create mode 100644 app/assets/images/favicons/google_branding/logo_sheets_128px.png
  1165. create mode 100644 app/assets/images/favicons/google_branding/logo_slides_128px.png
  1166. create mode 100644 app/assets/javascripts/admin/controllers/modals/admin-incoming-email.js.es6
  1167. create mode 100644 app/assets/javascripts/admin/templates/modal/admin_incoming_email.hbs
  1168. create mode 100644 app/assets/javascripts/admin/views/modals/admin-incoming-email.js.es6
  1169. create mode 100644 app/assets/javascripts/discourse/components/mobile-nav.js.es6
  1170. delete mode 100644 app/assets/javascripts/discourse/lib/stale-result.js.es6
  1171. delete mode 100644 app/assets/javascripts/discourse/mixins/stale-local-storage.js.es6
  1172. create mode 100644 app/assets/javascripts/discourse/templates/components/mobile-nav.hbs
  1173. create mode 100644 app/assets/javascripts/discourse/templates/mobile/components/mobile-nav.hbs
  1174. create mode 100644 app/jobs/scheduled/clean_up_email_logs.rb
  1175. create mode 100644 app/models/user_option.rb
  1176. delete mode 100644 app/serializers/category_featured_users_serializer.rb
  1177. create mode 100644 app/serializers/incoming_email_details_serializer.rb
  1178. create mode 100644 app/serializers/user_option_serializer.rb
  1179. create mode 100644 db/migrate/20000225050318_add_schema_migration_details.rb
  1180. create mode 100644 db/migrate/20160127105314_change_default_notification_level_on_groups.rb
  1181. create mode 100644 db/migrate/20160127222802_migrate_uncategorized_description_setting.rb
  1182. create mode 100644 db/migrate/20160201181320_fix_email_logs.rb
  1183. create mode 100644 db/migrate/20160206210202_remove_invalid_websites.rb
  1184. create mode 100644 db/migrate/20160215075528_add_unread_pm_index_to_notifications.rb
  1185. create mode 100644 db/migrate/20160225050317_add_user_options.rb
  1186. create mode 100644 db/migrate/20160225050318_allow_defaults_on_users_table.rb
  1187. create mode 100644 db/migrate/20160225050319_move_tracking_options_to_user_options.rb
  1188. create mode 100644 lib/active_record/connection_adapters/postgresql_fallback_adapter.rb
  1189. create mode 100644 lib/freedom_patches/schema_migration_details.rb
  1190. create mode 100644 lib/import_export/category_exporter.rb
  1191. create mode 100644 lib/import_export/category_importer.rb
  1192. create mode 100644 lib/import_export/import_export.rb
  1193. create mode 100644 lib/import_export/topic_exporter.rb
  1194. create mode 100644 lib/import_export/topic_importer.rb
  1195. create mode 100644 lib/javascripts/moment_locale/ar-tn.js
  1196. create mode 100644 lib/javascripts/moment_locale/dv.js
  1197. create mode 100644 lib/javascripts/moment_locale/en-ie.js
  1198. create mode 100644 lib/javascripts/moment_locale/en-nz.js
  1199. create mode 100644 lib/javascripts/moment_locale/fr-ch.js
  1200. create mode 100644 lib/javascripts/moment_locale/fy.js
  1201. create mode 100644 lib/javascripts/moment_locale/gd.js
  1202. create mode 100644 lib/javascripts/moment_locale/jv.js
  1203. create mode 100644 lib/javascripts/moment_locale/kk.js
  1204. create mode 100644 lib/javascripts/moment_locale/lo.js
  1205. create mode 100644 lib/javascripts/moment_locale/me.js
  1206. create mode 100644 lib/javascripts/moment_locale/ms.js
  1207. delete mode 100644 lib/javascripts/moment_locale/nb_NO.js
  1208. delete mode 100644 lib/javascripts/moment_locale/pt_BR.js
  1209. create mode 100644 lib/javascripts/moment_locale/se.js
  1210. create mode 100644 lib/javascripts/moment_locale/si.js
  1211. create mode 100644 lib/javascripts/moment_locale/sw.js
  1212. create mode 100644 lib/javascripts/moment_locale/te.js
  1213. create mode 100644 lib/javascripts/moment_locale/tlh.js
  1214. create mode 100644 lib/javascripts/moment_locale/tzl.js
  1215. delete mode 100644 lib/javascripts/moment_locale/zh_CN.js
  1216. delete mode 100644 lib/javascripts/moment_locale/zh_TW.js
  1217. create mode 100644 lib/validators/reply_by_email_enabled_validator.rb
  1218. create mode 100644 script/import_scripts/quandora/README.md
  1219. create mode 100644 script/import_scripts/quandora/export.rb
  1220. create mode 100644 script/import_scripts/quandora/import.rb
  1221. create mode 100644 script/import_scripts/quandora/quandora_api.rb
  1222. create mode 100644 script/import_scripts/quandora/quandora_question.rb
  1223. create mode 100644 script/import_scripts/quandora/test/config.ex.yml
  1224. create mode 100644 script/import_scripts/quandora/test/test_data.rb
  1225. create mode 100644 script/import_scripts/quandora/test/test_quandora_api.rb
  1226. create mode 100644 script/import_scripts/quandora/test/test_quandora_question.rb
  1227. create mode 100644 spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb
  1228. create mode 100644 spec/components/freedom_patches/schema_migration_details_spec.rb
  1229. create mode 100644 spec/components/global_path_spec.rb
  1230. create mode 100644 spec/components/validators/reply_by_email_enabled_validator_spec.rb
  1231. create mode 100644 spec/fabricators/user_option_fabricator.rb
  1232. create mode 100644 spec/fixtures/emails/attached_txt_file.eml
  1233. create mode 100644 spec/fixtures/emails/blocked_sender.eml
  1234. rename spec/fixtures/emails/{inline_attachment.eml => inline_image.eml} (100%)
  1235. rename spec/fixtures/emails/{no_body_with_attachments.eml => no_body_with_image.eml} (100%)
  1236. delete mode 100644 spec/fixtures/emails/no_return_path.eml
  1237. create mode 100644 spec/fixtures/emails/no_subject.eml
  1238. delete mode 100644 spec/fixtures/emails/signature.eml
  1239. create mode 100644 spec/jobs/clean_up_email_logs_spec.rb
  1240. create mode 100644 spec/models/user_archived_message_spec.rb
  1241. create mode 100644 spec/models/user_option_spec.rb
  1242. create mode 100644 spec/models/user_summary_spec.rb
  1243. create mode 100644 test/javascripts/acceptance/category-hashtag-test.js.es6
  1244.  
  1245. I, [2016-02-18T06:48:59.807865 #37] INFO -- : > cd /var/www/discourse && git fetch origin tests-passed
  1246. From https://github.com/discourse/discourse
  1247. * branch tests-passed -> FETCH_HEAD
  1248. I, [2016-02-18T06:49:00.644296 #37] INFO -- :
  1249. I, [2016-02-18T06:49:00.644741 #37] INFO -- : > cd /var/www/discourse && git checkout tests-passed
  1250. Switched to a new branch 'tests-passed'
  1251. I, [2016-02-18T06:49:00.751383 #37] INFO -- : Branch tests-passed set up to track remote branch tests-passed from origin.
  1252.  
  1253. I, [2016-02-18T06:49:00.751710 #37] INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
  1254. I, [2016-02-18T06:49:00.754377 #37] INFO -- :
  1255. I, [2016-02-18T06:49:00.754480 #37] INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
  1256. I, [2016-02-18T06:49:00.756449 #37] INFO -- :
  1257. I, [2016-02-18T06:49:00.756580 #37] INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
  1258. I, [2016-02-18T06:49:00.759354 #37] INFO -- :
  1259. I, [2016-02-18T06:49:00.759456 #37] INFO -- : > cd /var/www/discourse && mkdir -p /shared/log/rails
  1260. I, [2016-02-18T06:49:00.761414 #37] INFO -- :
  1261. I, [2016-02-18T06:49:00.761510 #37] INFO -- : > cd /var/www/discourse && bash -c "touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr}.log"
  1262. I, [2016-02-18T06:49:00.764396 #37] INFO -- :
  1263. I, [2016-02-18T06:49:00.764495 #37] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr}.log /var/www/discourse/log"
  1264. I, [2016-02-18T06:49:00.767152 #37] INFO -- :
  1265. I, [2016-02-18T06:49:00.767263 #37] INFO -- : > cd /var/www/discourse && bash -c "mkdir -p /shared/{uploads,backups}"
  1266. I, [2016-02-18T06:49:00.770070 #37] INFO -- :
  1267. I, [2016-02-18T06:49:00.770176 #37] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/{uploads,backups} /var/www/discourse/public"
  1268. I, [2016-02-18T06:49:00.772754 #37] INFO -- :
  1269. I, [2016-02-18T06:49:00.772865 #37] INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups
  1270. I, [2016-02-18T06:49:00.775041 #37] INFO -- :
  1271. I, [2016-02-18T06:49:00.775358 #37] INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
  1272. I, [2016-02-18T06:49:00.776618 #37] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
  1273. Cloning into 'docker_manager'...
  1274. I, [2016-02-18T06:49:02.508642 #37] INFO -- :
  1275. I, [2016-02-18T06:49:02.510099 #37] INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
  1276. I, [2016-02-18T06:49:02.513277 #37] INFO -- :
  1277. I, [2016-02-18T06:49:02.513659 #37] INFO -- : > rm /etc/nginx/sites-enabled/default
  1278. I, [2016-02-18T06:49:02.515268 #37] INFO -- :
  1279. I, [2016-02-18T06:49:02.515592 #37] INFO -- : > mkdir -p /var/nginx/cache
  1280. I, [2016-02-18T06:49:02.516997 #37] INFO -- :
  1281. I, [2016-02-18T06:49:02.517465 #37] INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
  1282. I, [2016-02-18T06:49:02.518279 #37] INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
  1283. I, [2016-02-18T06:49:02.518995 #37] INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
  1284. I, [2016-02-18T06:49:02.519666 #37] INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
  1285. I, [2016-02-18T06:49:02.520552 #37] INFO -- : > echo "done configuring web"
  1286. I, [2016-02-18T06:49:02.522459 #37] INFO -- : done configuring web
  1287.  
  1288. I, [2016-02-18T06:49:02.523567 #37] INFO -- : > cd /var/www/discourse && gem update bundler
  1289. I, [2016-02-18T06:49:05.392377 #37] INFO -- : Updating installed gems
  1290. Nothing to update
  1291.  
  1292. I, [2016-02-18T06:49:05.392989 #37] INFO -- : > cd /var/www/discourse && chown -R discourse /var/www/discourse
  1293. I, [2016-02-18T06:49:05.613358 #37] INFO -- :
  1294. I, [2016-02-18T06:49:05.615005 #37] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --deployment --verbose --without test --without development'
  1295. I, [2016-02-18T06:49:17.829883 #37] INFO -- : HTTP GET https://bundler.rubygems.org/api/v1/dependencies
  1296. HTTP 200 OK
  1297. Fetching gem metadata from https://rubygems.org/
  1298. Query List: ["rake", "i18n", "json", "minitest", "thread_safe", "tzinfo", "activesupport", "builder", "erubis", "mini_portile2", "nokogiri", "rails-deprecated_sanitizer", "rails-dom-testing", "loofah", "rails-html-sanitizer", "actionview", "rack", "rack-test", "actionpack", "globalid", "activejob", "mime-types", "mail", "actionmailer", "activemodel", "active_model_serializers", "arel", "activerecord", "jmespath", "aws-sdk-core", "aws-sdk-resources", "aws-sdk", "babel-source", "execjs", "babel-transpiler", "ember-source", "barber", "byebug", "certified", "coderay", "concurrent-ruby", "connection_pool", "crass", "daemons", "diff-lcs", "thor", "railties", "discourse-qunit-rails", "docile", "unf_ext", "unf", "domain_name", "email_reply_trimmer", "ember-data-source", "hike", "multi_json", "tilt", "sprockets", "ember-handlebars-template", "jquery-rails", "ember-rails", "eventmachine", "excon", "exifr", "fabrication", "fakeweb", "multipart-post", "faraday", "fast_blank", "rake-compiler", "fast_stack", "fast_xor", "fast_xs", "fastimage_discourse", "ffi", "flamegraph", "fspath", "sorcerer", "given_core", "guess_html_encoding", "hashie", "highline", "hiredis", "htmlentities", "http-cookie", "image_size", "in_threads", "progress", "image_optim", "jwt", "kgio", "libv8", "listen", "logster", "lru_redux", "redis", "message_bus", "metaclass", "method_source", "mocha", "mock_redis", "moneta", "msgpack", "multi_xml", "mustache", "netrc", "nokogumbo", "oauth", "oauth2", "oj", "omniauth", "omniauth-oauth2", "omniauth-facebook", "omniauth-github-discourse", "omniauth-google-oauth2", "omniauth-oauth", "ruby-openid", "rack-openid", "omniauth-openid", "omniauth-twitter", "onebox", "openid-redis-store", "pg", "slop", "pry", "pry-nav", "pry-rails", "puma", "r2", "rack-mini-profiler", "rack-protection", "sprockets-rails", "rails", "rails-observers", "rails_multisite", "raindrops", "rb-fsevent", "rb-inotify", "trollop", "rbtrace", "redis-namespace", "ref", "rest-client", "rinku", "rmmseg-cpp", "rspec-support", "rspec-core", "rspec-expectations", "rspec-mocks", "rspec", "rspec-given", "rspec-html-matchers", "rspec-rails", "rtlit", "ruby-readability", "sanitize", "sass", "sass-rails", "seed-fu", "shoulda-context", "shoulda-matchers", "shoulda", "sidekiq", "sidekiq-statistic", "simple-rss", "simplecov-html", "simplecov", "sinatra", "spork", "spork-rails", "therubyracer", "thin", "timecop", "uglifier", "unicorn"]
  1299. Query Gemcutter Dependency Endpoint API: rake,i18n,json,minitest,thread_safe,tzinfo,activesupport,builder,erubis,mini_portile2,nokogiri,rails-deprecated_sanitizer,rails-dom-testing,loofah,rails-html-sanitizer,actionview,rack,rack-test,actionpack,globalid,activejob,mime-types,mail,actionmailer,activemodel,active_model_serializers,arel,activerecord,jmespath,aws-sdk-core,aws-sdk-resources,aws-sdk,babel-source,execjs,babel-transpiler,ember-source,barber,byebug,certified,coderay,concurrent-ruby,connection_pool,crass,daemons,diff-lcs,thor,railties,discourse-qunit-rails,docile,unf_ext,unf,domain_name,email_reply_trimmer,ember-data-source,hike,multi_json,tilt,sprockets,ember-handlebars-template,jquery-rails,ember-rails,eventmachine,excon,exifr,fabrication,fakeweb,multipart-post,faraday,fast_blank,rake-compiler,fast_stack,fast_xor,fast_xs,fastimage_discourse,ffi,flamegraph,fspath,sorcerer,given_core,guess_html_encoding,hashie,highline,hiredis,htmlentities,http-cookie,image_size,in_threads,progress,image_optim,jwt,kgio,libv8,listen,logster,lru_redux,redis,message_bus,metaclass,method_source,mocha,mock_redis,moneta,msgpack,multi_xml,mustache,netrc,nokogumbo,oauth,oauth2,oj,omniauth,omniauth-oauth2,omniauth-facebook,omniauth-github-discourse,omniauth-google-oauth2,omniauth-oauth,ruby-openid,rack-openid,omniauth-openid,omniauth-twitter,onebox,openid-redis-store,pg,slop,pry,pry-nav,pry-rails,puma,r2,rack-mini-profiler,rack-protection,sprockets-rails,rails,rails-observers,rails_multisite,raindrops,rb-fsevent,rb-inotify,trollop,rbtrace,redis-namespace,ref,rest-client,rinku,rmmseg-cpp,rspec-support,rspec-core,rspec-expectations,rspec-mocks,rspec,rspec-given,rspec-html-matchers,rspec-rails,rtlit,ruby-readability,sanitize,sass,sass-rails,seed-fu,shoulda-context,shoulda-matchers,shoulda,sidekiq,sidekiq-statistic,simple-rss,simplecov-html,simplecov,sinatra,spork,spork-rails,therubyracer,thin,timecop,uglifier,unicorn
  1300. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=rake%2Ci18n%2Cjson%2Cminitest%2Cthread_safe%2Ctzinfo%2Cactivesupport%2Cbuilder%2Cerubis%2Cmini_portile2%2Cnokogiri%2Crails-deprecated_sanitizer%2Crails-dom-testing%2Cloofah%2Crails-html-sanitizer%2Cactionview%2Crack%2Crack-test%2Cactionpack%2Cglobalid%2Cactivejob%2Cmime-types%2Cmail%2Cactionmailer%2Cactivemodel%2Cactive_model_serializers%2Carel%2Cactiverecord%2Cjmespath%2Caws-sdk-core%2Caws-sdk-resources%2Caws-sdk%2Cbabel-source%2Cexecjs%2Cbabel-transpiler%2Cember-source%2Cbarber%2Cbyebug%2Ccertified%2Ccoderay%2Cconcurrent-ruby%2Cconnection_pool%2Ccrass%2Cdaemons%2Cdiff-lcs%2Cthor%2Crailties%2Cdiscourse-qunit-rails%2Cdocile%2Cunf_ext
  1301. HTTP 200 OK
  1302. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=unf%2Cdomain_name%2Cemail_reply_trimmer%2Cember-data-source%2Chike%2Cmulti_json%2Ctilt%2Csprockets%2Cember-handlebars-template%2Cjquery-rails%2Cember-rails%2Ceventmachine%2Cexcon%2Cexifr%2Cfabrication%2Cfakeweb%2Cmultipart-post%2Cfaraday%2Cfast_blank%2Crake-compiler%2Cfast_stack%2Cfast_xor%2Cfast_xs%2Cfastimage_discourse%2Cffi%2Cflamegraph%2Cfspath%2Csorcerer%2Cgiven_core%2Cguess_html_encoding%2Chashie%2Chighline%2Chiredis%2Chtmlentities%2Chttp-cookie%2Cimage_size%2Cin_threads%2Cprogress%2Cimage_optim%2Cjwt%2Ckgio%2Clibv8%2Clisten%2Clogster%2Clru_redux%2Credis%2Cmessage_bus%2Cmetaclass%2Cmethod_source%2Cmocha
  1303. HTTP 200 OK
  1304. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=mock_redis%2Cmoneta%2Cmsgpack%2Cmulti_xml%2Cmustache%2Cnetrc%2Cnokogumbo%2Coauth%2Coauth2%2Coj%2Comniauth%2Comniauth-oauth2%2Comniauth-facebook%2Comniauth-github-discourse%2Comniauth-google-oauth2%2Comniauth-oauth%2Cruby-openid%2Crack-openid%2Comniauth-openid%2Comniauth-twitter%2Conebox%2Copenid-redis-store%2Cpg%2Cslop%2Cpry%2Cpry-nav%2Cpry-rails%2Cpuma%2Cr2%2Crack-mini-profiler%2Crack-protection%2Csprockets-rails%2Crails%2Crails-observers%2Crails_multisite%2Craindrops%2Crb-fsevent%2Crb-inotify%2Ctrollop%2Crbtrace%2Credis-namespace%2Cref%2Crest-client%2Crinku%2Crmmseg-cpp%2Crspec-support%2Crspec-core%2Crspec-expectations%2Crspec-mocks%2Crspec
  1305. HTTP 200 OK
  1306. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=rspec-given%2Crspec-html-matchers%2Crspec-rails%2Crtlit%2Cruby-readability%2Csanitize%2Csass%2Csass-rails%2Cseed-fu%2Cshoulda-context%2Cshoulda-matchers%2Cshoulda%2Csidekiq%2Csidekiq-statistic%2Csimple-rss%2Csimplecov-html%2Csimplecov%2Csinatra%2Cspork%2Cspork-rails%2Ctherubyracer%2Cthin%2Ctimecop%2Cuglifier%2Cunicorn
  1307. HTTP 200 OK
  1308. Query List: ["hoe", "atomic", "abstract", "archive-tar-minitar", "rcov", "mime-types-data", "memcache-client", "camping", "fcgi", "mongrel", "test-spec", "treetop", "tlsmail", "activerecord-deprecated_finders", "jamespath", "rack-mount", "rack-cache", "journey", "activemodel-globalid", "httparty", "uuidtools", "aws-sdk-v1", "text-format", "handlebars-source", "ember-template-compiler-source", "columnize", "debugger-linecache", "rb-readline", "functional-ruby", "bcrypt-ruby", "rack-ssl", "rdoc", "racc", "rexical", "tenderlove-frex", "weakling", "mini_portile", "pkg-config", "addressable", "active-model-adapter-source", "ember-cli-assets", "ember-es6_template", "sqlite3", "newgem", "ruby_parser", "bones", "rb-appscript", "xattr", "ffi-xattr", "termios", "rb-fchange", "rb-kqueue", "celluloid", "celluloid-io", "faraday-middleware", "httpauth", "oa-core", "oa-oauth", "oa-openid", "oa-basic", "oa-enterprise", "oa-more", "ruby-hmac", "ruby-yadis", "pry-doc", "escape_utils", "opengraph_parser", "verbal_expressions", "hexpress", "activeresource", "actionwebservice", "bundler", "actioncable", "curses", "cucumber", "spicycode-rcov", "syntax", "win32console", "yard", "spoon", "hpricot", "webrat", "rspec-collection_matchers", "bourne", "compass", "sprockets-sass", "slim", "lockfile", "shotgun", "backports", "win32-process", "eventmachine-le", "http_parser.rb", "preforker"]
  1309. Query Gemcutter Dependency Endpoint API: hoe,atomic,abstract,archive-tar-minitar,rcov,mime-types-data,memcache-client,camping,fcgi,mongrel,test-spec,treetop,tlsmail,activerecord-deprecated_finders,jamespath,rack-mount,rack-cache,journey,activemodel-globalid,httparty,uuidtools,aws-sdk-v1,text-format,handlebars-source,ember-template-compiler-source,columnize,debugger-linecache,rb-readline,functional-ruby,bcrypt-ruby,rack-ssl,rdoc,racc,rexical,tenderlove-frex,weakling,mini_portile,pkg-config,addressable,active-model-adapter-source,ember-cli-assets,ember-es6_template,sqlite3,newgem,ruby_parser,bones,rb-appscript,xattr,ffi-xattr,termios,rb-fchange,rb-kqueue,celluloid,celluloid-io,faraday-middleware,httpauth,oa-core,oa-oauth,oa-openid,oa-basic,oa-enterprise,oa-more,ruby-hmac,ruby-yadis,pry-doc,escape_utils,opengraph_parser,verbal_expressions,hexpress,activeresource,actionwebservice,bundler,actioncable,curses,cucumber,spicycode-rcov,syntax,win32console,yard,spoon,hpricot,webrat,rspec-collection_matchers,bourne,compass,sprockets-sass,slim,lockfile,shotgun,backports,win32-process,eventmachine-le,http_parser.rb,preforker
  1310. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=hoe%2Catomic%2Cabstract%2Carchive-tar-minitar%2Crcov%2Cmime-types-data%2Cmemcache-client%2Ccamping%2Cfcgi%2Cmongrel%2Ctest-spec%2Ctreetop%2Ctlsmail%2Cactiverecord-deprecated_finders%2Cjamespath%2Crack-mount%2Crack-cache%2Cjourney%2Cactivemodel-globalid%2Chttparty%2Cuuidtools%2Caws-sdk-v1%2Ctext-format%2Chandlebars-source%2Cember-template-compiler-source%2Ccolumnize%2Cdebugger-linecache%2Crb-readline%2Cfunctional-ruby%2Cbcrypt-ruby%2Crack-ssl%2Crdoc%2Cracc%2Crexical%2Ctenderlove-frex%2Cweakling%2Cmini_portile%2Cpkg-config%2Caddressable%2Cactive-model-adapter-source%2Cember-cli-assets%2Cember-es6_template%2Csqlite3%2Cnewgem%2Cruby_parser%2Cbones%2Crb-appscript%2Cxattr%2Cffi-xattr%2Ctermios
  1311. HTTP 200 OK
  1312. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=rb-fchange%2Crb-kqueue%2Ccelluloid%2Ccelluloid-io%2Cfaraday-middleware%2Chttpauth%2Coa-core%2Coa-oauth%2Coa-openid%2Coa-basic%2Coa-enterprise%2Coa-more%2Cruby-hmac%2Cruby-yadis%2Cpry-doc%2Cescape_utils%2Copengraph_parser%2Cverbal_expressions%2Chexpress%2Cactiveresource%2Cactionwebservice%2Cbundler%2Cactioncable%2Ccurses%2Ccucumber%2Cspicycode-rcov%2Csyntax%2Cwin32console%2Cyard%2Cspoon%2Chpricot%2Cwebrat%2Crspec-collection_matchers%2Cbourne%2Ccompass%2Csprockets-sass%2Cslim%2Clockfile%2Cshotgun%2Cbackports%2Cwin32-process%2Ceventmachine-le%2Chttp_parser.rb%2Cpreforker
  1313. HTTP 200 OK
  1314. Query List: ["rubyforge", "RubyInline", "gemcutter", "ZenTest", "markaby", "metaid", "mab", "cgi_multipart_eof_fix", "fastthread", "gem_plugin", "flexmock", "facets", "polyglot", "multimap", "text-hyphen", "bcrypt", "echoe", "jnunemaker-crack", "crack", "launchy", "ruby_core_source", "debugger-ruby_core_source", "RedCloth", "rubigen", "ParseTree", "sexp_processor", "little-plugger", "loquacious", "bones-extras", "bones-git", "win32-api", "timers", "facter", "celluloid-essentials", "celluloid-extras", "celluloid-fsm", "celluloid-pool", "celluloid-supervision", "dotenv", "nenv", "rspec-logsplit", "restclient", "net-ldap", "rubyntlm", "pyu-ruby-sasl", "uuid", "XMLCanonicalizer", "nio4r", "ruby-openid-apps-discovery", "coffee-rails", "em-hiredis", "faye-websocket", "websocket-driver", "term-ansicolor", "json_pure", "gherkin", "multi_test", "cucumber-core", "gherkin3", "cucumber-wire", "event-bus", "haml", "chunky_png", "fssm", "compass-core", "compass-import-once", "sprockets-helpers", "temple", "windows-pr"]
  1315. Query Gemcutter Dependency Endpoint API: rubyforge,RubyInline,gemcutter,ZenTest,markaby,metaid,mab,cgi_multipart_eof_fix,fastthread,gem_plugin,flexmock,facets,polyglot,multimap,text-hyphen,bcrypt,echoe,jnunemaker-crack,crack,launchy,ruby_core_source,debugger-ruby_core_source,RedCloth,rubigen,ParseTree,sexp_processor,little-plugger,loquacious,bones-extras,bones-git,win32-api,timers,facter,celluloid-essentials,celluloid-extras,celluloid-fsm,celluloid-pool,celluloid-supervision,dotenv,nenv,rspec-logsplit,restclient,net-ldap,rubyntlm,pyu-ruby-sasl,uuid,XMLCanonicalizer,nio4r,ruby-openid-apps-discovery,coffee-rails,em-hiredis,faye-websocket,websocket-driver,term-ansicolor,json_pure,gherkin,multi_test,cucumber-core,gherkin3,cucumber-wire,event-bus,haml,chunky_png,fssm,compass-core,compass-import-once,sprockets-helpers,temple,windows-pr
  1316. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=rubyforge%2CRubyInline%2Cgemcutter%2CZenTest%2Cmarkaby%2Cmetaid%2Cmab%2Ccgi_multipart_eof_fix%2Cfastthread%2Cgem_plugin%2Cflexmock%2Cfacets%2Cpolyglot%2Cmultimap%2Ctext-hyphen%2Cbcrypt%2Cechoe%2Cjnunemaker-crack%2Ccrack%2Claunchy%2Cruby_core_source%2Cdebugger-ruby_core_source%2CRedCloth%2Crubigen%2CParseTree%2Csexp_processor%2Clittle-plugger%2Cloquacious%2Cbones-extras%2Cbones-git%2Cwin32-api%2Ctimers%2Cfacter%2Ccelluloid-essentials%2Ccelluloid-extras%2Ccelluloid-fsm%2Ccelluloid-pool%2Ccelluloid-supervision%2Cdotenv%2Cnenv%2Crspec-logsplit%2Crestclient%2Cnet-ldap%2Crubyntlm%2Cpyu-ruby-sasl%2Cuuid%2CXMLCanonicalizer%2Cnio4r%2Cruby-openid-apps-discovery%2Ccoffee-rails
  1317. HTTP 200 OK
  1318. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=em-hiredis%2Cfaye-websocket%2Cwebsocket-driver%2Cterm-ansicolor%2Cjson_pure%2Cgherkin%2Cmulti_test%2Ccucumber-core%2Cgherkin3%2Ccucumber-wire%2Cevent-bus%2Chaml%2Cchunky_png%2Cfssm%2Ccompass-core%2Ccompass-import-once%2Csprockets-helpers%2Ctemple%2Cwindows-pr
  1319. HTTP 200 OK
  1320. Query List: ["net-scp", "allison", "safe_yaml", "thoughtbot-shoulda", "configuration", "SexpProcessor", "test-unit", "coveralls", "rubocop", "celluloid-gems", "dotenv-deployment", "bones-rcov", "bones-rspec", "bones-rubyforge", "bones-zentest", "git", "hitimes", "macaddr", "log4r", "coffee-script", "CFPropertyList", "sys-admin", "win32-dir", "windows-api", "win32-security", "colored", "paint", "websocket-extensions", "spruz", "tins", "maruku"]
  1321. Query Gemcutter Dependency Endpoint API: net-scp,allison,safe_yaml,thoughtbot-shoulda,configuration,SexpProcessor,test-unit,coveralls,rubocop,celluloid-gems,dotenv-deployment,bones-rcov,bones-rspec,bones-rubyforge,bones-zentest,git,hitimes,macaddr,log4r,coffee-script,CFPropertyList,sys-admin,win32-dir,windows-api,win32-security,colored,paint,websocket-extensions,spruz,tins,maruku
  1322. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=net-scp%2Callison%2Csafe_yaml%2Cthoughtbot-shoulda%2Cconfiguration%2CSexpProcessor%2Ctest-unit%2Ccoveralls%2Crubocop%2Ccelluloid-gems%2Cdotenv-deployment%2Cbones-rcov%2Cbones-rspec%2Cbones-rubyforge%2Cbones-zentest%2Cgit%2Chitimes%2Cmacaddr%2Clog4r%2Ccoffee-script%2CCFPropertyList%2Csys-admin%2Cwin32-dir%2Cwindows-api%2Cwin32-security%2Ccolored%2Cpaint%2Cwebsocket-extensions%2Cspruz%2Ctins%2Cmaruku
  1323. HTTP 200 OK
  1324. Query List: ["psych", "net-ssh", "rainbow", "parser", "powerpack", "ruby-progressbar", "astrolabe", "unicode-display_width", "power_assert", "systemu", "coffee-script-source", "libxml-ruby", "colorize", "mkrf"]
  1325. Query Gemcutter Dependency Endpoint API: psych,net-ssh,rainbow,parser,powerpack,ruby-progressbar,astrolabe,unicode-display_width,power_assert,systemu,coffee-script-source,libxml-ruby,colorize,mkrf
  1326. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=psych%2Cnet-ssh%2Crainbow%2Cparser%2Cpowerpack%2Cruby-progressbar%2Castrolabe%2Cunicode-display_width%2Cpower_assert%2Csystemu%2Ccoffee-script-source%2Clibxml-ruby%2Ccolorize%2Cmkrf
  1327. HTTP 200 OK
  1328. Query List: ["jar-dependencies", "needle", "jruby-pageant", "ast", "pattern-match"]
  1329. Query Gemcutter Dependency Endpoint API: jar-dependencies,needle,jruby-pageant,ast,pattern-match
  1330. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=jar-dependencies%2Cneedle%2Cjruby-pageant%2Cast%2Cpattern-match
  1331. HTTP 200 OK
  1332. Query List: ["ruby-maven"]
  1333. Query Gemcutter Dependency Endpoint API: ruby-maven
  1334. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=ruby-maven
  1335. HTTP 200 OK
  1336. Query List: ["maven-tools", "ruby-maven-libs"]
  1337. Query Gemcutter Dependency Endpoint API: maven-tools,ruby-maven-libs
  1338. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=maven-tools%2Cruby-maven-libs
  1339. HTTP 200 OK
  1340. Query List: ["virtus"]
  1341. Query Gemcutter Dependency Endpoint API: virtus
  1342. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=virtus
  1343. HTTP 200 OK
  1344. Query List: ["descendants_tracker", "axiom-types", "coercible", "equalizer"]
  1345. Query Gemcutter Dependency Endpoint API: descendants_tracker,axiom-types,coercible,equalizer
  1346. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=descendants_tracker%2Caxiom-types%2Ccoercible%2Cequalizer
  1347. HTTP 200 OK
  1348. Query List: ["ice_nine", "adamantium"]
  1349. Query Gemcutter Dependency Endpoint API: ice_nine,adamantium
  1350. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=ice_nine%2Cadamantium
  1351. HTTP 200 OK
  1352. Query List: ["memoizable"]
  1353. Query Gemcutter Dependency Endpoint API: memoizable
  1354. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=memoizable
  1355. HTTP 200 OK
  1356. Query List: []
  1357. Fetching version metadata from https://rubygems.org/
  1358. Query List: ["thread_safe", "backports", "ice_nine", "memoizable", "descendants_tracker", "adamantium", "axiom-types", "coercible", "equalizer", "virtus", "thor", "maven-tools", "ruby-maven-libs", "rake", "ruby-maven", "jar-dependencies", "echoe", "needle", "jruby-pageant", "sexp_processor", "ast", "slop", "parser", "pattern-match", "hoe", "psych", "net-ssh", "activesupport", "term-ansicolor", "rainbow", "powerpack", "json", "ruby-progressbar", "astrolabe", "tins", "unicode-display_width", "dotenv", "bones", "rspec", "power_assert", "rubyforge", "systemu", "coffee-script-source", "execjs", "libxml-ruby", "colorize", "rest-client", "simplecov", "multi_json", "win32-api", "sys-admin", "test-unit", "windows-pr", "ffi", "syntax", "rcov", "ZenTest", "configuration", "mkrf", "rake-compiler", "win32-security", "json_pure", "net-scp", "highline", "gemcutter", "allison", "rdoc", "safe_yaml", "builder", "newgem", "cucumber", "mocha", "thoughtbot-shoulda", "i18n", "spoon", "addressable", "archive-tar-minitar", "RubyInline", "SexpProcessor", "bundler", "celluloid-essentials", "celluloid-extras", "celluloid-pool", "celluloid-supervision", "rspec-logsplit", "timers", "coveralls", "rubocop", "nenv", "celluloid", "celluloid-gems", "dotenv-deployment", "bones-rcov", "bones-rspec", "bones-rubyforge", "bones-zentest", "git", "hitimes", "macaddr", "log4r", "ruby-openid", "actionpack", "coffee-script", "railties", "sprockets", "CFPropertyList", "win32console", "win32-dir", "windows-api", "celluloid-fsm", "colored", "nokogiri", "paint", "hiredis", "eventmachine", "websocket-extensions", "thin", "websocket-driver", "spruz", "gherkin", "gherkin3", "trollop", "maruku", "yard", "tilt", "sass", "markaby", "metaid", "activerecord", "rack", "mab", "cgi_multipart_eof_fix", "daemons", "fastthread", "gem_plugin", "flexmock", "facets", "polyglot", "multimap", "activemodel", "text-hyphen", "handlebars-source", "bcrypt", "jnunemaker-crack", "crack", "multi_xml", "launchy", "ruby_core_source", "debugger-ruby_core_source", "babel-transpiler", "minitest", "ember-source", "ember-data-source", "RedCloth", "rubigen", "ParseTree", "little-plugger", "loquacious", "bones-extras", "bones-git", "facter", "oa-core", "restclient", "net-ldap", "rubyntlm", "pyu-ruby-sasl", "uuid", "XMLCanonicalizer", "pry", "nio4r", "oauth", "oauth2", "faraday", "rack-openid", "ruby-openid-apps-discovery", "coffee-rails", "em-hiredis", "faye-websocket", "redis", "rails-observers", "erubis", "hpricot", "rack-test", "rspec-expectations", "diff-lcs", "treetop", "multi_test", "cucumber-core", "cucumber-wire", "event-bus", "haml", "chunky_png", "fssm", "listen", "compass-core", "compass-import-once", "rb-fsevent", "rb-inotify", "sprockets-helpers", "escape_utils", "temple", "atomic", "abstract", "rails-deprecated_sanitizer", "crass", "loofah", "rails-dom-testing", "rails-html-sanitizer", "mime-types-data", "memcache-client", "tzinfo", "concurrent-ruby", "method_source", "camping", "fcgi", "mongrel", "test-spec", "mime-types", "tlsmail", "arel", "activerecord-deprecated_finders", "jamespath", "jmespath", "aws-sdk-core", "rack-mount", "rack-cache", "journey", "actionview", "activemodel-globalid", "globalid", "httparty", "uuidtools", "aws-sdk-v1", "aws-sdk-resources", "mail", "text-format", "activejob", "ember-template-compiler-source", "columnize", "debugger-linecache", "rb-readline", "functional-ruby", "ref", "bcrypt-ruby", "babel-source", "rack-ssl", "racc", "rexical", "tenderlove-frex", "weakling", "mini_portile", "mini_portile2", "pkg-config", "unf_ext", "unf", "barber", "hike", "multipart-post", "rails", "active_model_serializers", "jquery-rails", "ember-handlebars-template", "active-model-adapter-source", "ember-cli-assets", "ember-es6_template", "fast_stack", "domain_name", "sqlite3", "ruby_parser", "rb-appscript", "xattr", "ffi-xattr", "metaclass", "sorcerer", "termios", "fspath", "image_size", "in_threads", "progress", "exifr", "rb-fchange", "rb-kqueue", "celluloid-io", "faraday-middleware", "httpauth", "jwt", "oa-oauth", "oa-openid", "oa-basic", "oa-enterprise", "oa-more", "hashie", "omniauth", "omniauth-oauth2", "ruby-hmac", "omniauth-oauth", "ruby-yadis", "pry-doc", "moneta", "mustache", "opengraph_parser", "verbal_expressions", "hexpress", "htmlentities", "actionmailer", "activeresource", "actionwebservice", "sprockets-rails", "actioncable", "curses", "msgpack", "spicycode-rcov", "rspec-core", "rspec-mocks", "coderay", "netrc", "http-cookie", "rspec-support", "given_core", "nokogumbo", "webrat", "rspec-collection_matchers", "guess_html_encoding", "bourne", "connection_pool", "redis-namespace", "compass", "sprockets-sass", "sinatra", "slim", "sidekiq", "shoulda-context", "shoulda-matchers", "simplecov-html", "docile", "lockfile", "spork", "shotgun", "rack-protection", "win32-process", "libv8", "eventmachine-le", "http_parser.rb", "preforker", "therubyracer", "kgio", "raindrops"]
  1359. Query Gemcutter Dependency Endpoint API: thread_safe,backports,ice_nine,memoizable,descendants_tracker,adamantium,axiom-types,coercible,equalizer,virtus,thor,maven-tools,ruby-maven-libs,rake,ruby-maven,jar-dependencies,echoe,needle,jruby-pageant,sexp_processor,ast,slop,parser,pattern-match,hoe,psych,net-ssh,activesupport,term-ansicolor,rainbow,powerpack,json,ruby-progressbar,astrolabe,tins,unicode-display_width,dotenv,bones,rspec,power_assert,rubyforge,systemu,coffee-script-source,execjs,libxml-ruby,colorize,rest-client,simplecov,multi_json,win32-api,sys-admin,test-unit,windows-pr,ffi,syntax,rcov,ZenTest,configuration,mkrf,rake-compiler,win32-security,json_pure,net-scp,highline,gemcutter,allison,rdoc,safe_yaml,builder,newgem,cucumber,mocha,thoughtbot-shoulda,i18n,spoon,addressable,archive-tar-minitar,RubyInline,SexpProcessor,bundler,celluloid-essentials,celluloid-extras,celluloid-pool,celluloid-supervision,rspec-logsplit,timers,coveralls,rubocop,nenv,celluloid,celluloid-gems,dotenv-deployment,bones-rcov,bones-rspec,bones-rubyforge,bones-zentest,git,hitimes,macaddr,log4r,ruby-openid,actionpack,coffee-script,railties,sprockets,CFPropertyList,win32console,win32-dir,windows-api,celluloid-fsm,colored,nokogiri,paint,hiredis,eventmachine,websocket-extensions,thin,websocket-driver,spruz,gherkin,gherkin3,trollop,maruku,yard,tilt,sass,markaby,metaid,activerecord,rack,mab,cgi_multipart_eof_fix,daemons,fastthread,gem_plugin,flexmock,facets,polyglot,multimap,activemodel,text-hyphen,handlebars-source,bcrypt,jnunemaker-crack,crack,multi_xml,launchy,ruby_core_source,debugger-ruby_core_source,babel-transpiler,minitest,ember-source,ember-data-source,RedCloth,rubigen,ParseTree,little-plugger,loquacious,bones-extras,bones-git,facter,oa-core,restclient,net-ldap,rubyntlm,pyu-ruby-sasl,uuid,XMLCanonicalizer,pry,nio4r,oauth,oauth2,faraday,rack-openid,ruby-openid-apps-discovery,coffee-rails,em-hiredis,faye-websocket,redis,rails-observers,erubis,hpricot,rack-test,rspec-expectations,diff-lcs,treetop,multi_test,cucumber-core,cucumber-wire,event-bus,haml,chunky_png,fssm,listen,compass-core,compass-import-once,rb-fsevent,rb-inotify,sprockets-helpers,escape_utils,temple,atomic,abstract,rails-deprecated_sanitizer,crass,loofah,rails-dom-testing,rails-html-sanitizer,mime-types-data,memcache-client,tzinfo,concurrent-ruby,method_source,camping,fcgi,mongrel,test-spec,mime-types,tlsmail,arel,activerecord-deprecated_finders,jamespath,jmespath,aws-sdk-core,rack-mount,rack-cache,journey,actionview,activemodel-globalid,globalid,httparty,uuidtools,aws-sdk-v1,aws-sdk-resources,mail,text-format,activejob,ember-template-compiler-source,columnize,debugger-linecache,rb-readline,functional-ruby,ref,bcrypt-ruby,babel-source,rack-ssl,racc,rexical,tenderlove-frex,weakling,mini_portile,mini_portile2,pkg-config,unf_ext,unf,barber,hike,multipart-post,rails,active_model_serializers,jquery-rails,ember-handlebars-template,active-model-adapter-source,ember-cli-assets,ember-es6_template,fast_stack,domain_name,sqlite3,ruby_parser,rb-appscript,xattr,ffi-xattr,metaclass,sorcerer,termios,fspath,image_size,in_threads,progress,exifr,rb-fchange,rb-kqueue,celluloid-io,faraday-middleware,httpauth,jwt,oa-oauth,oa-openid,oa-basic,oa-enterprise,oa-more,hashie,omniauth,omniauth-oauth2,ruby-hmac,omniauth-oauth,ruby-yadis,pry-doc,moneta,mustache,opengraph_parser,verbal_expressions,hexpress,htmlentities,actionmailer,activeresource,actionwebservice,sprockets-rails,actioncable,curses,msgpack,spicycode-rcov,rspec-core,rspec-mocks,coderay,netrc,http-cookie,rspec-support,given_core,nokogumbo,webrat,rspec-collection_matchers,guess_html_encoding,bourne,connection_pool,redis-namespace,compass,sprockets-sass,sinatra,slim,sidekiq,shoulda-context,shoulda-matchers,simplecov-html,docile,lockfile,spork,shotgun,rack-protection,win32-process,libv8,eventmachine-le,http_parser.rb,preforker,therubyracer,kgio,raindrops
  1360. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=thread_safe%2Cbackports%2Cice_nine%2Cmemoizable%2Cdescendants_tracker%2Cadamantium%2Caxiom-types%2Ccoercible%2Cequalizer%2Cvirtus%2Cthor%2Cmaven-tools%2Cruby-maven-libs%2Crake%2Cruby-maven%2Cjar-dependencies%2Cechoe%2Cneedle%2Cjruby-pageant%2Csexp_processor%2Cast%2Cslop%2Cparser%2Cpattern-match%2Choe%2Cpsych%2Cnet-ssh%2Cactivesupport%2Cterm-ansicolor%2Crainbow%2Cpowerpack%2Cjson%2Cruby-progressbar%2Castrolabe%2Ctins%2Cunicode-display_width%2Cdotenv%2Cbones%2Crspec%2Cpower_assert%2Crubyforge%2Csystemu%2Ccoffee-script-source%2Cexecjs%2Clibxml-ruby%2Ccolorize%2Crest-client%2Csimplecov%2Cmulti_json%2Cwin32-api
  1361. HTTP 200 OK
  1362. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=sys-admin%2Ctest-unit%2Cwindows-pr%2Cffi%2Csyntax%2Crcov%2CZenTest%2Cconfiguration%2Cmkrf%2Crake-compiler%2Cwin32-security%2Cjson_pure%2Cnet-scp%2Chighline%2Cgemcutter%2Callison%2Crdoc%2Csafe_yaml%2Cbuilder%2Cnewgem%2Ccucumber%2Cmocha%2Cthoughtbot-shoulda%2Ci18n%2Cspoon%2Caddressable%2Carchive-tar-minitar%2CRubyInline%2CSexpProcessor%2Cbundler%2Ccelluloid-essentials%2Ccelluloid-extras%2Ccelluloid-pool%2Ccelluloid-supervision%2Crspec-logsplit%2Ctimers%2Ccoveralls%2Crubocop%2Cnenv%2Ccelluloid%2Ccelluloid-gems%2Cdotenv-deployment%2Cbones-rcov%2Cbones-rspec%2Cbones-rubyforge%2Cbones-zentest%2Cgit%2Chitimes%2Cmacaddr%2Clog4r
  1363. HTTP 200 OK
  1364. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=ruby-openid%2Cactionpack%2Ccoffee-script%2Crailties%2Csprockets%2CCFPropertyList%2Cwin32console%2Cwin32-dir%2Cwindows-api%2Ccelluloid-fsm%2Ccolored%2Cnokogiri%2Cpaint%2Chiredis%2Ceventmachine%2Cwebsocket-extensions%2Cthin%2Cwebsocket-driver%2Cspruz%2Cgherkin%2Cgherkin3%2Ctrollop%2Cmaruku%2Cyard%2Ctilt%2Csass%2Cmarkaby%2Cmetaid%2Cactiverecord%2Crack%2Cmab%2Ccgi_multipart_eof_fix%2Cdaemons%2Cfastthread%2Cgem_plugin%2Cflexmock%2Cfacets%2Cpolyglot%2Cmultimap%2Cactivemodel%2Ctext-hyphen%2Chandlebars-source%2Cbcrypt%2Cjnunemaker-crack%2Ccrack%2Cmulti_xml%2Claunchy%2Cruby_core_source%2Cdebugger-ruby_core_source%2Cbabel-transpiler
  1365. HTTP 200 OK
  1366. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=minitest%2Cember-source%2Cember-data-source%2CRedCloth%2Crubigen%2CParseTree%2Clittle-plugger%2Cloquacious%2Cbones-extras%2Cbones-git%2Cfacter%2Coa-core%2Crestclient%2Cnet-ldap%2Crubyntlm%2Cpyu-ruby-sasl%2Cuuid%2CXMLCanonicalizer%2Cpry%2Cnio4r%2Coauth%2Coauth2%2Cfaraday%2Crack-openid%2Cruby-openid-apps-discovery%2Ccoffee-rails%2Cem-hiredis%2Cfaye-websocket%2Credis%2Crails-observers%2Cerubis%2Chpricot%2Crack-test%2Crspec-expectations%2Cdiff-lcs%2Ctreetop%2Cmulti_test%2Ccucumber-core%2Ccucumber-wire%2Cevent-bus%2Chaml%2Cchunky_png%2Cfssm%2Clisten%2Ccompass-core%2Ccompass-import-once%2Crb-fsevent%2Crb-inotify%2Csprockets-helpers%2Cescape_utils
  1367. HTTP 200 OK
  1368. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=temple%2Catomic%2Cabstract%2Crails-deprecated_sanitizer%2Ccrass%2Cloofah%2Crails-dom-testing%2Crails-html-sanitizer%2Cmime-types-data%2Cmemcache-client%2Ctzinfo%2Cconcurrent-ruby%2Cmethod_source%2Ccamping%2Cfcgi%2Cmongrel%2Ctest-spec%2Cmime-types%2Ctlsmail%2Carel%2Cactiverecord-deprecated_finders%2Cjamespath%2Cjmespath%2Caws-sdk-core%2Crack-mount%2Crack-cache%2Cjourney%2Cactionview%2Cactivemodel-globalid%2Cglobalid%2Chttparty%2Cuuidtools%2Caws-sdk-v1%2Caws-sdk-resources%2Cmail%2Ctext-format%2Cactivejob%2Cember-template-compiler-source%2Ccolumnize%2Cdebugger-linecache%2Crb-readline%2Cfunctional-ruby%2Cref%2Cbcrypt-ruby%2Cbabel-source%2Crack-ssl%2Cracc%2Crexical%2Ctenderlove-frex%2Cweakling
  1369. HTTP 200 OK
  1370. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=mini_portile%2Cmini_portile2%2Cpkg-config%2Cunf_ext%2Cunf%2Cbarber%2Chike%2Cmultipart-post%2Crails%2Cactive_model_serializers%2Cjquery-rails%2Cember-handlebars-template%2Cactive-model-adapter-source%2Cember-cli-assets%2Cember-es6_template%2Cfast_stack%2Cdomain_name%2Csqlite3%2Cruby_parser%2Crb-appscript%2Cxattr%2Cffi-xattr%2Cmetaclass%2Csorcerer%2Ctermios%2Cfspath%2Cimage_size%2Cin_threads%2Cprogress%2Cexifr%2Crb-fchange%2Crb-kqueue%2Ccelluloid-io%2Cfaraday-middleware%2Chttpauth%2Cjwt%2Coa-oauth%2Coa-openid%2Coa-basic%2Coa-enterprise%2Coa-more%2Chashie%2Comniauth%2Comniauth-oauth2%2Cruby-hmac%2Comniauth-oauth%2Cruby-yadis%2Cpry-doc%2Cmoneta%2Cmustache
  1371. HTTP 200 OK
  1372. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=opengraph_parser%2Cverbal_expressions%2Chexpress%2Chtmlentities%2Cactionmailer%2Cactiveresource%2Cactionwebservice%2Csprockets-rails%2Cactioncable%2Ccurses%2Cmsgpack%2Cspicycode-rcov%2Crspec-core%2Crspec-mocks%2Ccoderay%2Cnetrc%2Chttp-cookie%2Crspec-support%2Cgiven_core%2Cnokogumbo%2Cwebrat%2Crspec-collection_matchers%2Cguess_html_encoding%2Cbourne%2Cconnection_pool%2Credis-namespace%2Ccompass%2Csprockets-sass%2Csinatra%2Cslim%2Csidekiq%2Cshoulda-context%2Cshoulda-matchers%2Csimplecov-html%2Cdocile%2Clockfile%2Cspork%2Cshotgun%2Crack-protection%2Cwin32-process%2Clibv8%2Ceventmachine-le%2Chttp_parser.rb%2Cpreforker%2Ctherubyracer%2Ckgio%2Craindrops
  1373. HTTP 200 OK
  1374. Query List: ["celluloid-gems", "faraday-middleware"]
  1375. Query Gemcutter Dependency Endpoint API: celluloid-gems,faraday-middleware
  1376. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=celluloid-gems%2Cfaraday-middleware
  1377. HTTP 200 OK
  1378. Query List: []
  1379. Fetching dependency metadata from https://rubygems.org/
  1380. Query List: ["celluloid-gems", "faraday-middleware"]
  1381. Query Gemcutter Dependency Endpoint API: celluloid-gems,faraday-middleware
  1382. HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=celluloid-gems%2Cfaraday-middleware
  1383. HTTP 200 OK
  1384. Query List: []
  1385. Using rake 10.5.0
  1386. 0: rake (10.5.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rake-10.5.0.gemspec
  1387. Using i18n 0.7.0
  1388. 0: i18n (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/i18n-0.7.0.gemspec
  1389. Using json 1.8.3
  1390. 0: json (1.8.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/json-1.8.3.gemspec
  1391. Using minitest 5.8.4
  1392. 0: minitest (5.8.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/minitest-5.8.4.gemspec
  1393. Using thread_safe 0.3.5
  1394. 0: thread_safe (0.3.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/thread_safe-0.3.5.gemspec
  1395. Using builder 3.2.2
  1396. 0: builder (3.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/builder-3.2.2.gemspec
  1397. Using erubis 2.7.0
  1398. 0: erubis (2.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/erubis-2.7.0.gemspec
  1399. Using mini_portile2 2.0.0
  1400. 0: mini_portile2 (2.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mini_portile2-2.0.0.gemspec
  1401. Using rack 1.6.4
  1402. 0: rack (1.6.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-1.6.4.gemspec
  1403. Using mime-types 2.99
  1404. 0: mime-types (2.99) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mime-types-2.99.gemspec
  1405. Using arel 6.0.3
  1406. 0: arel (6.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/arel-6.0.3.gemspec
  1407. Using jmespath 1.1.3
  1408. 0: jmespath (1.1.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/jmespath-1.1.3.gemspec
  1409. Using babel-source 5.8.34
  1410. 0: babel-source (5.8.34) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/babel-source-5.8.34.gemspec
  1411. Using execjs 2.6.0
  1412. 0: execjs (2.6.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/execjs-2.6.0.gemspec
  1413. Using ember-source 1.12.2
  1414. 0: ember-source (1.12.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ember-source-1.12.2.gemspec
  1415. Using byebug 8.2.1
  1416. 0: byebug (8.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/byebug-8.2.1.gemspec
  1417. Using certified 1.0.0
  1418. 0: certified (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/certified-1.0.0.gemspec
  1419. Using coderay 1.1.0
  1420. 0: coderay (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/coderay-1.1.0.gemspec
  1421. Using concurrent-ruby 1.0.0
  1422. 0: concurrent-ruby (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/concurrent-ruby-1.0.0.gemspec
  1423. Using connection_pool 2.2.0
  1424. 0: connection_pool (2.2.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/connection_pool-2.2.0.gemspec
  1425. Using crass 1.0.2
  1426. 0: crass (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/crass-1.0.2.gemspec
  1427. Using daemons 1.2.3
  1428. 0: daemons (1.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/daemons-1.2.3.gemspec
  1429. Using diff-lcs 1.2.5
  1430. 0: diff-lcs (1.2.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/diff-lcs-1.2.5.gemspec
  1431. Using thor 0.19.1
  1432. 0: thor (0.19.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/thor-0.19.1.gemspec
  1433. Using docile 1.1.5
  1434. 0: docile (1.1.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/docile-1.1.5.gemspec
  1435. Using unf_ext 0.0.7.1
  1436. 0: unf_ext (0.0.7.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/unf_ext-0.0.7.1.gemspec
  1437. Installing email_reply_trimmer 0.0.6
  1438. 0: email_reply_trimmer (0.0.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/email_reply_trimmer-0.0.6.gemspec
  1439. Using hike 1.2.3
  1440. 0: hike (1.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/hike-1.2.3.gemspec
  1441. Using multi_json 1.11.2
  1442. 0: multi_json (1.11.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/multi_json-1.11.2.gemspec
  1443. Using tilt 1.4.1
  1444. 0: tilt (1.4.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/tilt-1.4.1.gemspec
  1445. Using eventmachine 1.0.8
  1446. 0: eventmachine (1.0.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/eventmachine-1.0.8.gemspec
  1447. Using excon 0.45.4
  1448. 0: excon (0.45.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/excon-0.45.4.gemspec
  1449. Using exifr 1.2.4
  1450. 0: exifr (1.2.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/exifr-1.2.4.gemspec
  1451. Using fabrication 2.9.8
  1452. 0: fabrication (2.9.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fabrication-2.9.8.gemspec
  1453. Using fakeweb 1.3.0
  1454. 0: fakeweb (1.3.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fakeweb-1.3.0.gemspec
  1455. Using multipart-post 2.0.0
  1456. 0: multipart-post (2.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/multipart-post-2.0.0.gemspec
  1457. Using fast_blank 1.0.0
  1458. 0: fast_blank (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_blank-1.0.0.gemspec
  1459. Using fast_xs 0.8.0
  1460. 0: fast_xs (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_xs-0.8.0.gemspec
  1461. Using fastimage_discourse 1.6.6
  1462. 0: fastimage_discourse (1.6.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fastimage_discourse-1.6.6.gemspec
  1463. Using ffi 1.9.10
  1464. 0: ffi (1.9.10) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ffi-1.9.10.gemspec
  1465. Using fspath 2.1.1
  1466. 0: fspath (2.1.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fspath-2.1.1.gemspec
  1467. Using sorcerer 1.0.2
  1468. 0: sorcerer (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sorcerer-1.0.2.gemspec
  1469. Using guess_html_encoding 0.0.11
  1470. 0: guess_html_encoding (0.0.11) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/guess_html_encoding-0.0.11.gemspec
  1471. Using hashie 3.4.3
  1472. 0: hashie (3.4.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/hashie-3.4.3.gemspec
  1473. Using highline 1.7.8
  1474. 0: highline (1.7.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/highline-1.7.8.gemspec
  1475. Using hiredis 0.6.1
  1476. 0: hiredis (0.6.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/hiredis-0.6.1.gemspec
  1477. Using htmlentities 4.3.4
  1478. 0: htmlentities (4.3.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/htmlentities-4.3.4.gemspec
  1479. Using image_size 1.4.1
  1480. 0: image_size (1.4.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/image_size-1.4.1.gemspec
  1481. Using in_threads 1.3.1
  1482. 0: in_threads (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/in_threads-1.3.1.gemspec
  1483. Using progress 3.1.1
  1484. 0: progress (3.1.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/progress-3.1.1.gemspec
  1485. Using jwt 1.5.2
  1486. 0: jwt (1.5.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/jwt-1.5.2.gemspec
  1487. Using kgio 2.10.0
  1488. 0: kgio (2.10.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/kgio-2.10.0.gemspec
  1489. Using libv8 3.16.14.13
  1490. 0: libv8 (3.16.14.13) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/libv8-3.16.14.13-x86_64-linux.gemspec
  1491. Using listen 0.7.3
  1492. 0: listen (0.7.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/listen-0.7.3.gemspec
  1493. Using logster 1.0.1
  1494. 0: logster (1.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/logster-1.0.1.gemspec
  1495. Using lru_redux 1.1.0
  1496. 0: lru_redux (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/lru_redux-1.1.0.gemspec
  1497. Using redis 3.2.2
  1498. 0: redis (3.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/redis-3.2.2.gemspec
  1499. Using metaclass 0.0.4
  1500. 0: metaclass (0.0.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/metaclass-0.0.4.gemspec
  1501. Using method_source 0.8.2
  1502. 0: method_source (0.8.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/method_source-0.8.2.gemspec
  1503. Using mock_redis 0.15.4
  1504. 0: mock_redis (0.15.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mock_redis-0.15.4.gemspec
  1505. Using moneta 0.8.0
  1506. 0: moneta (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/moneta-0.8.0.gemspec
  1507. Using msgpack 0.7.4
  1508. 0: msgpack (0.7.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/msgpack-0.7.4.gemspec
  1509. Using multi_xml 0.5.5
  1510. 0: multi_xml (0.5.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/multi_xml-0.5.5.gemspec
  1511. Using mustache 1.0.2
  1512. 0: mustache (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mustache-1.0.2.gemspec
  1513. Using netrc 0.11.0
  1514. 0: netrc (0.11.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/netrc-0.11.0.gemspec
  1515. Using oauth 0.4.7
  1516. 0: oauth (0.4.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/oauth-0.4.7.gemspec
  1517. Using oj 2.14.3
  1518. 0: oj (2.14.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/oj-2.14.3.gemspec
  1519. Using ruby-openid 2.7.0
  1520. 0: ruby-openid (2.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ruby-openid-2.7.0.gemspec
  1521. Using pg 0.18.4
  1522. 0: pg (0.18.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pg-0.18.4.gemspec
  1523. Using slop 3.6.0
  1524. 0: slop (3.6.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/slop-3.6.0.gemspec
  1525. Using puma 2.15.3
  1526. 0: puma (2.15.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/puma-2.15.3.gemspec
  1527. Using r2 0.2.6
  1528. 0: r2 (0.2.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/r2-0.2.6.gemspec
  1529. Using bundler 1.11.2
  1530. 0: bundler (1.11.2) from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/source
  1531. Using rails_multisite 1.0.3
  1532. 0: rails_multisite (1.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails_multisite-1.0.3.gemspec
  1533. Using raindrops 0.15.0
  1534. 0: raindrops (0.15.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/raindrops-0.15.0.gemspec
  1535. Using rb-fsevent 0.9.7
  1536. 0: rb-fsevent (0.9.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rb-fsevent-0.9.7.gemspec
  1537. Using trollop 2.1.2
  1538. 0: trollop (2.1.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/trollop-2.1.2.gemspec
  1539. Using ref 2.0.0
  1540. 0: ref (2.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ref-2.0.0.gemspec
  1541. Using rinku 1.7.3
  1542. 0: rinku (1.7.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rinku-1.7.3.gemspec
  1543. Using rmmseg-cpp 0.2.9
  1544. 0: rmmseg-cpp (0.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rmmseg-cpp-0.2.9.gemspec
  1545. Using rspec-support 3.2.2
  1546. 0: rspec-support (3.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-support-3.2.2.gemspec
  1547. Using rtlit 0.0.5
  1548. 0: rtlit (0.0.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rtlit-0.0.5.gemspec
  1549. Using sass 3.2.19
  1550. 0: sass (3.2.19) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sass-3.2.19.gemspec
  1551. Using shoulda-context 1.2.1
  1552. 0: shoulda-context (1.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/shoulda-context-1.2.1.gemspec
  1553. Using simple-rss 1.3.1
  1554. 0: simple-rss (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/simple-rss-1.3.1.gemspec
  1555. Using simplecov-html 0.10.0
  1556. 0: simplecov-html (0.10.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/simplecov-html-0.10.0.gemspec
  1557. Using spork 1.0.0rc4
  1558. 0: spork (1.0.0rc4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/spork-1.0.0rc4.gemspec
  1559. Using timecop 0.8.0
  1560. 0: timecop (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/timecop-0.8.0.gemspec
  1561. Using rake-compiler 0.9.5
  1562. 0: rake-compiler (0.9.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rake-compiler-0.9.5.gemspec
  1563. Using tzinfo 1.2.2
  1564. 0: tzinfo (1.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/tzinfo-1.2.2.gemspec
  1565. Using nokogiri 1.6.7.2
  1566. 0: nokogiri (1.6.7.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/nokogiri-1.6.7.2.gemspec
  1567. Using rack-test 0.6.3
  1568. 0: rack-test (0.6.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-test-0.6.3.gemspec
  1569. Using rack-mini-profiler 0.9.8
  1570. 0: rack-mini-profiler (0.9.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-mini-profiler-0.9.8.gemspec
  1571. Using rack-protection 1.5.3
  1572. 0: rack-protection (1.5.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-protection-1.5.3.gemspec
  1573. Using mail 2.6.3
  1574. 0: mail (2.6.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mail-2.6.3.gemspec
  1575. Using aws-sdk-core 2.2.9
  1576. 0: aws-sdk-core (2.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/aws-sdk-core-2.2.9.gemspec
  1577. Using babel-transpiler 0.7.0
  1578. 0: babel-transpiler (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/babel-transpiler-0.7.0.gemspec
  1579. Using uglifier 2.7.2
  1580. 0: uglifier (2.7.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/uglifier-2.7.2.gemspec
  1581. Using barber 0.9.0
  1582. 0: barber (0.9.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/barber-0.9.0.gemspec
  1583. Using ember-data-source 1.0.0.beta.16.1
  1584. 0: ember-data-source (1.0.0.beta.16.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ember-data-source-1.0.0.beta.16.1.gemspec
  1585. Using unf 0.1.4
  1586. 0: unf (0.1.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/unf-0.1.4.gemspec
  1587. Using sprockets 2.11.0
  1588. 0: sprockets (2.11.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sprockets-2.11.0.gemspec
  1589. Using thin 1.6.4
  1590. 0: thin (1.6.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/thin-1.6.4.gemspec
  1591. Using faraday 0.9.2
  1592. 0: faraday (0.9.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/faraday-0.9.2.gemspec
  1593. Using rb-inotify 0.9.5
  1594. 0: rb-inotify (0.9.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rb-inotify-0.9.5.gemspec
  1595. Using given_core 3.7.1
  1596. 0: given_core (3.7.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/given_core-3.7.1.gemspec
  1597. Using omniauth 1.3.1
  1598. 0: omniauth (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-1.3.1.gemspec
  1599. Using image_optim 0.20.2
  1600. 0: image_optim (0.20.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/image_optim-0.20.2.gemspec
  1601. Using message_bus 2.0.0.beta.2
  1602. 0: message_bus (2.0.0.beta.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/message_bus-2.0.0.beta.2.gemspec
  1603. Using redis-namespace 1.5.2
  1604. 0: redis-namespace (1.5.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/redis-namespace-1.5.2.gemspec
  1605. Using sidekiq 4.0.2
  1606. 0: sidekiq (4.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sidekiq-4.0.2.gemspec
  1607. Using mocha 1.1.0
  1608. 0: mocha (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mocha-1.1.0.gemspec
  1609. Using rack-openid 1.3.1
  1610. 0: rack-openid (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-openid-1.3.1.gemspec
  1611. Using openid-redis-store 0.0.2
  1612. 0: openid-redis-store (0.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/openid-redis-store-0.0.2.gemspec
  1613. Using pry 0.10.3
  1614. 0: pry (0.10.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pry-0.10.3.gemspec
  1615. Using unicorn 5.0.1
  1616. 0: unicorn (5.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/unicorn-5.0.1.gemspec
  1617. Using rbtrace 0.4.7
  1618. 0: rbtrace (0.4.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rbtrace-0.4.7.gemspec
  1619. Using therubyracer 0.12.2
  1620. 0: therubyracer (0.12.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/therubyracer-0.12.2.gemspec
  1621. Using rspec-core 3.2.3
  1622. 0: rspec-core (3.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-core-3.2.3.gemspec
  1623. Using rspec-expectations 3.2.1
  1624. 0: rspec-expectations (3.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-expectations-3.2.1.gemspec
  1625. Using rspec-mocks 3.2.1
  1626. 0: rspec-mocks (3.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-mocks-3.2.1.gemspec
  1627. Using simplecov 0.11.1
  1628. 0: simplecov (0.11.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/simplecov-0.11.1.gemspec
  1629. Using fast_stack 0.1.0
  1630. 0: fast_stack (0.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_stack-0.1.0.gemspec
  1631. Using fast_xor 1.1.3
  1632. 0: fast_xor (1.1.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_xor-1.1.3.gemspec
  1633. Using activesupport 4.2.5.1
  1634. 0: activesupport (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activesupport-4.2.5.1.gemspec
  1635. Using loofah 2.0.3
  1636. 0: loofah (2.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/loofah-2.0.3.gemspec
  1637. Using nokogumbo 1.4.7
  1638. 0: nokogumbo (1.4.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/nokogumbo-1.4.7.gemspec
  1639. Installing onebox 1.5.34
  1640. 0: onebox (1.5.34) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/onebox-1.5.34.gemspec
  1641. Using ruby-readability 0.7.0
  1642. 0: ruby-readability (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ruby-readability-0.7.0.gemspec
  1643. Using sinatra 1.4.6
  1644. 0: sinatra (1.4.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sinatra-1.4.6.gemspec
  1645. Using aws-sdk-resources 2.2.9
  1646. 0: aws-sdk-resources (2.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/aws-sdk-resources-2.2.9.gemspec
  1647. Using domain_name 0.5.25
  1648. 0: domain_name (0.5.25) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/domain_name-0.5.25.gemspec
  1649. Using ember-handlebars-template 0.1.5
  1650. 0: ember-handlebars-template (0.1.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ember-handlebars-template-0.1.5.gemspec
  1651. Using oauth2 1.0.0
  1652. 0: oauth2 (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/oauth2-1.0.0.gemspec
  1653. Using omniauth-oauth 1.1.0
  1654. 0: omniauth-oauth (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-oauth-1.1.0.gemspec
  1655. Using sidekiq-statistic 1.2.0
  1656. 0: sidekiq-statistic (1.2.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sidekiq-statistic-1.2.0.gemspec
  1657. Using omniauth-openid 1.0.1
  1658. 0: omniauth-openid (1.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-openid-1.0.1.gemspec
  1659. Using pry-nav 0.2.4
  1660. 0: pry-nav (0.2.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pry-nav-0.2.4.gemspec
  1661. Using pry-rails 0.3.4
  1662. 0: pry-rails (0.3.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pry-rails-0.3.4.gemspec
  1663. Using rspec 3.2.0
  1664. 0: rspec (3.2.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-3.2.0.gemspec
  1665. Using flamegraph 0.1.0
  1666. 0: flamegraph (0.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/flamegraph-0.1.0.gemspec
  1667. Using rails-deprecated_sanitizer 1.0.3
  1668. 0: rails-deprecated_sanitizer (1.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-deprecated_sanitizer-1.0.3.gemspec
  1669. Using globalid 0.3.6
  1670. 0: globalid (0.3.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/globalid-0.3.6.gemspec
  1671. Using activemodel 4.2.5.1
  1672. 0: activemodel (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activemodel-4.2.5.1.gemspec
  1673. Using shoulda-matchers 2.8.0
  1674. 0: shoulda-matchers (2.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/shoulda-matchers-2.8.0.gemspec
  1675. Using rails-html-sanitizer 1.0.3
  1676. 0: rails-html-sanitizer (1.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-html-sanitizer-1.0.3.gemspec
  1677. Using sanitize 4.0.1
  1678. 0: sanitize (4.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sanitize-4.0.1.gemspec
  1679. Using aws-sdk 2.2.9
  1680. 0: aws-sdk (2.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/aws-sdk-2.2.9.gemspec
  1681. Using http-cookie 1.0.2
  1682. 0: http-cookie (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/http-cookie-1.0.2.gemspec
  1683. Using omniauth-oauth2 1.3.1
  1684. 0: omniauth-oauth2 (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-oauth2-1.3.1.gemspec
  1685. Using omniauth-twitter 1.2.1
  1686. 0: omniauth-twitter (1.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-twitter-1.2.1.gemspec
  1687. Using rspec-given 3.7.1
  1688. 0: rspec-given (3.7.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-given-3.7.1.gemspec
  1689. Using rspec-html-matchers 0.7.0
  1690. 0: rspec-html-matchers (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-html-matchers-0.7.0.gemspec
  1691. Using rails-dom-testing 1.0.7
  1692. 0: rails-dom-testing (1.0.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-dom-testing-1.0.7.gemspec
  1693. Using activejob 4.2.5.1
  1694. 0: activejob (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activejob-4.2.5.1.gemspec
  1695. Using active_model_serializers 0.8.3
  1696. 0: active_model_serializers (0.8.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/active_model_serializers-0.8.3.gemspec
  1697. Using activerecord 4.2.5.1
  1698. 0: activerecord (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activerecord-4.2.5.1.gemspec
  1699. Using rails-observers 0.1.2
  1700. 0: rails-observers (0.1.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-observers-0.1.2.gemspec
  1701. Using shoulda 3.5.0
  1702. 0: shoulda (3.5.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/shoulda-3.5.0.gemspec
  1703. Using rest-client 1.8.0
  1704. 0: rest-client (1.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rest-client-1.8.0.gemspec
  1705. Using omniauth-facebook 3.0.0
  1706. 0: omniauth-facebook (3.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-facebook-3.0.0.gemspec
  1707. Using omniauth-github-discourse 1.1.2
  1708. 0: omniauth-github-discourse (1.1.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-github-discourse-1.1.2.gemspec
  1709. Installing omniauth-google-oauth2 0.3.1
  1710. 0: omniauth-google-oauth2 (0.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-google-oauth2-0.3.1.gemspec
  1711. Using actionview 4.2.5.1
  1712. 0: actionview (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/actionview-4.2.5.1.gemspec
  1713. Using seed-fu 2.3.5
  1714. 0: seed-fu (2.3.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/seed-fu-2.3.5.gemspec
  1715. Using actionpack 4.2.5.1
  1716. 0: actionpack (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/actionpack-4.2.5.1.gemspec
  1717. Using actionmailer 4.2.5.1
  1718. 0: actionmailer (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/actionmailer-4.2.5.1.gemspec
  1719. Using railties 4.2.5.1
  1720. 0: railties (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/railties-4.2.5.1.gemspec
  1721. Using sprockets-rails 2.0.1
  1722. 0: sprockets-rails (2.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sprockets-rails-2.0.1.gemspec
  1723. Using discourse-qunit-rails 0.0.8
  1724. 0: discourse-qunit-rails (0.0.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/discourse-qunit-rails-0.0.8.gemspec
  1725. Using jquery-rails 4.0.5
  1726. 0: jquery-rails (4.0.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/jquery-rails-4.0.5.gemspec
  1727. Using rspec-rails 3.2.3
  1728. 0: rspec-rails (3.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-rails-3.2.3.gemspec
  1729. Using rails 4.2.5.1
  1730. 0: rails (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-4.2.5.1.gemspec
  1731. Using sass-rails 4.0.5
  1732. 0: sass-rails (4.0.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sass-rails-4.0.5.gemspec
  1733. Using ember-rails 0.18.2
  1734. 0: ember-rails (0.18.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ember-rails-0.18.2.gemspec
  1735. Using spork-rails 4.0.0
  1736. 0: spork-rails (4.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/spork-rails-4.0.0.gemspec
  1737. Bundle complete! 94 Gemfile dependencies, 176 gems now installed.
  1738. Gems in the group development were not installed.
  1739. Bundled gems are installed into ./vendor/bundle.
  1740.  
  1741. I, [2016-02-18T06:49:17.830355 #37] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
  1742. 2016-02-18 06:49:22 UTC [349-1] discourse@discourse ERROR: relation "users" does not exist at character 323
  1743. 2016-02-18 06:49:22 UTC [349-2] discourse@discourse STATEMENT: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
  1744. pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
  1745. FROM pg_attribute a LEFT JOIN pg_attrdef d
  1746. ON a.attrelid = d.adrelid AND a.attnum = d.adnum
  1747. WHERE a.attrelid = '"users"'::regclass
  1748. AND a.attnum > 0 AND NOT a.attisdropped
  1749. ORDER BY a.attnum
  1750.  
  1751. I, [2016-02-18T06:49:36.503142 #37] INFO -- : == 20000225050318 AddSchemaMigrationDetails: migrating ========================
  1752. -- create_table(:schema_migration_details)
  1753. -> 0.0057s
  1754. -- add_index(:schema_migration_details, [:version])
  1755. -> 0.0023s
  1756. -- execute("INSERT INTO schema_migration_details(version, created_at)\n SELECT version, current_timestamp\n FROM schema_migrations\n ORDER BY version\n ")
  1757. -> 0.0006s
  1758. == 20000225050318 AddSchemaMigrationDetails: migrated (0.0176s) ===============
  1759.  
  1760. == 20120311163914 CreateForumThreads: migrating ===============================
  1761. -- create_table(:forum_threads)
  1762. -> 0.0112s
  1763. == 20120311163914 CreateForumThreads: migrated (0.0168s) ======================
  1764.  
  1765. == 20120311164326 CreatePosts: migrating ======================================
  1766. -- create_table(:posts)
  1767. -> 0.0037s
  1768. -- add_index(:posts, [:forum_thread_id, :created_at])
  1769. -> 0.0025s
  1770. == 20120311164326 CreatePosts: migrated (0.0122s) =============================
  1771.  
  1772. == 20120311170118 CreateUsers: migrating ======================================
  1773. -- create_table(:users)
  1774. -> 0.0036s
  1775. == 20120311170118 CreateUsers: migrated (0.0097s) =============================
  1776.  
  1777. == 20120311201341 CreateForums: migrating =====================================
  1778. -- create_table(:forums)
  1779. -> 0.0032s
  1780. == 20120311201341 CreateForums: migrated (0.0094s) ============================
  1781.  
  1782. == 20120311210245 CreateSites: migrating ======================================
  1783. -- create_table(:sites)
  1784. -> 0.0027s
  1785. == 20120311210245 CreateSites: migrated (0.0079s) =============================
  1786.  
  1787. == 20120416201606 AddReplyToToPosts: migrating ================================
  1788. -- add_column(:posts, :reply_to_post_number, :integer, {:null=>true})
  1789. -> 0.0005s
  1790. -- add_index(:posts, :reply_to_post_number)
  1791. -> 0.0025s
  1792. == 20120416201606 AddReplyToToPosts: migrated (0.0084s) =======================
  1793.  
  1794. == 20120420183447 AddViewsToForumThreads: migrating ===========================
  1795. -- add_column(:forum_threads, :views, :integer, {:default=>0, :null=>false})
  1796. -> 0.0042s
  1797. == 20120420183447 AddViewsToForumThreads: migrated (0.0093s) ==================
  1798.  
  1799. == 20120423140906 AddPostsCountToForumThreads: migrating ======================
  1800. -- add_column(:forum_threads, :posts_count, :integer, {:default=>0, :null=>false})
  1801. -> 0.0036s
  1802. -- execute("UPDATE forum_threads SET posts_count = (SELECT count(*) FROM posts WHERE posts.forum_thread_id = forum_threads.id)")
  1803. -> 0.0006s
  1804. == 20120423140906 AddPostsCountToForumThreads: migrated (0.0096s) =============
  1805.  
  1806. == 20120423142820 FixPostIndices: migrating ===================================
  1807. -- remove_index(:posts, [:forum_thread_id, :created_at])
  1808. -> 0.0014s
  1809. -- add_index(:posts, [:forum_thread_id, :post_number])
  1810. -> 0.0026s
  1811. == 20120423142820 FixPostIndices: migrated (0.0101s) ==========================
  1812.  
  1813. == 20120423151548 RemoveLastPostId: migrating =================================
  1814. -- remove_column(:forum_threads, :last_post_id)
  1815. -> 0.0004s
  1816. == 20120423151548 RemoveLastPostId: migrated (0.0057s) ========================
  1817.  
  1818. == 20120425145456 AddDisplayUsernameToUsers: migrating ========================
  1819. -- add_column(:users, :display_username, :string)
  1820. -> 0.0006s
  1821. -- execute("UPDATE users SET display_username = username")
  1822. -> 0.0003s
  1823. -- execute("UPDATE users SET username = REPLACE(username, ' ', '')")
  1824. -> 0.0003s
  1825. -- add_index(:users, :username, {:unique=>true})
  1826. -> 0.0025s
  1827. == 20120425145456 AddDisplayUsernameToUsers: migrated (0.0089s) ===============
  1828.  
  1829. == 20120427150624 AddUserIdIndexToPosts: migrating ============================
  1830. -- add_index(:posts, :user_id)
  1831. -> 0.0024s
  1832. == 20120427150624 AddUserIdIndexToPosts: migrated (0.0075s) ===================
  1833.  
  1834. == 20120427151452 CookedMigration: migrating ==================================
  1835. -- rename_column(:posts, :content, :raw)
  1836. -> 0.0030s
  1837. -- rename_column(:posts, :formatted_content, :cooked)
  1838. -> 0.0017s
  1839. == 20120427151452 CookedMigration: migrated (0.0102s) =========================
  1840.  
  1841. == 20120427154330 CreateVestalVersions: migrating =============================
  1842. -- create_table(:versions)
  1843. -> 0.0043s
  1844. -- change_table(:versions)
  1845. -> 0.0132s
  1846. == 20120427154330 CreateVestalVersions: migrated (0.0229s) ====================
  1847.  
  1848. == 20120427172031 AddVersionToPosts: migrating ================================
  1849. -- add_column(:posts, :cached_version, :integer, {:null=>false, :default=>1})
  1850. -> 0.0050s
  1851. == 20120427172031 AddVersionToPosts: migrated (0.0097s) =======================
  1852.  
  1853. == 20120502183240 AddCreatedByToForumThreads: migrating =======================
  1854. -- add_column(:forum_threads, :user_id, :integer)
  1855. -> 0.0005s
  1856. -- execute("update forum_threads t\n set user_id = (select user_id from posts where forum_thread_id = t.Id order by post_number asc limit 1)")
  1857. -> 0.0006s
  1858. -- change_column(:forum_threads, :user_id, :integer, {:null=>false})
  1859. -> 0.0005s
  1860. == 20120502183240 AddCreatedByToForumThreads: migrated (0.0061s) ==============
  1861.  
  1862. == 20120502192121 AddLastPostUserIdToForumThreads: migrating ==================
  1863. -- add_column(:forum_threads, :last_post_user_id, :integer)
  1864. -> 0.0005s
  1865. -- execute("update forum_threads t\n set last_post_user_id = (select user_id from posts where forum_thread_id = t.Id order by post_number desc limit 1)")
  1866. -> 0.0004s
  1867. -- change_column(:forum_threads, :last_post_user_id, :integer, {:null=>false})
  1868. -> 0.0005s
  1869. == 20120502192121 AddLastPostUserIdToForumThreads: migrated (0.0067s) =========
  1870.  
  1871. == 20120503205521 AddSiteIdToUsers: migrating =================================
  1872. -- add_column(:users, :site_id, :integer)
  1873. -> 0.0006s
  1874. -- add_column(:users, :bio, :text)
  1875. -> 0.0004s
  1876. -- add_index(:users, :site_id)
  1877. -> 0.0028s
  1878. -- execute("UPDATE users SET site_id = 1")
  1879. -> 0.0003s
  1880. == 20120503205521 AddSiteIdToUsers: migrated (0.0100s) ========================
  1881.  
  1882. == 20120507144132 CreateExpressions: migrating ================================
  1883. -- create_table(:expressions, {:id=>false, :force=>true})
  1884. -> 0.0019s
  1885. -- add_index(:expressions, [:parent_id, :parent_type, :expression_type_id, :user_id], {:unique=>true, :name=>"expressions_pk"})
  1886. -> 0.0024s
  1887. == 20120507144132 CreateExpressions: migrated (0.0106s) =======================
  1888.  
  1889. == 20120507144222 CreateExpressionTypes: migrating ============================
  1890. -- create_table(:expression_types)
  1891. -> 0.0031s
  1892. -- add_index(:expression_types, [:site_id, :name], {:unique=>true})
  1893. -> 0.0024s
  1894. == 20120507144222 CreateExpressionTypes: migrated (0.0110s) ===================
  1895.  
  1896. == 20120514144549 AddReplyCountToPosts: migrating =============================
  1897. -- add_column(:posts, :reply_count, :integer, {:null=>false, :default=>0})
  1898. -> 0.0049s
  1899. -- execute("UPDATE posts\n SET reply_count = (SELECT count(*) FROM posts AS p2 WHERE p2.reply_to_post_number = posts.post_number)")
  1900. -> 0.0005s
  1901. == 20120514144549 AddReplyCountToPosts: migrated (0.0109s) ====================
  1902.  
  1903. == 20120514173920 AddFlagToExpressionTypes: migrating =========================
  1904. -- add_column(:expression_types, :flag, :boolean, {:default=>false})
  1905. -> 0.0032s
  1906. == 20120514173920 AddFlagToExpressionTypes: migrated (0.0082s) ================
  1907.  
  1908. == 20120514204934 AddDescriptionToExpressionTypes: migrating ==================
  1909. -- add_column(:expression_types, :description, :text, {:null=>true})
  1910. -> 0.0017s
  1911. == 20120514204934 AddDescriptionToExpressionTypes: migrated (0.0072s) =========
  1912.  
  1913. == 20120517200130 AddQuotelessToPost: migrating ===============================
  1914. -- add_column(:posts, :quoteless, :boolean, {:default=>false})
  1915. -> 0.0052s
  1916. == 20120517200130 AddQuotelessToPost: migrated (0.0102s) ======================
  1917.  
  1918. == 20120518200115 CreateReadPosts: migrating ==================================
  1919. -- create_table(:read_posts, {:id=>false})
  1920. -> 0.0010s
  1921. -- add_index(:read_posts, [:forum_thread_id, :user_id, :page], {:unique=>true})
  1922. -> 0.0024s
  1923. == 20120518200115 CreateReadPosts: migrated (0.0086s) =========================
  1924.  
  1925. == 20120519182212 CreateLastReadPosts: migrating ==============================
  1926. -- create_table(:last_read_posts)
  1927. -> 0.0040s
  1928. -- add_index(:last_read_posts, [:user_id, :forum_thread_id], {:unique=>true})
  1929. -> 0.0037s
  1930. == 20120519182212 CreateLastReadPosts: migrated (0.0144s) =====================
  1931.  
  1932. == 20120523180723 CreateViews: migrating ======================================
  1933. -- create_table(:views, {:id=>false})
  1934. -> 0.0014s
  1935. -- add_index(:views, [:parent_id, :parent_type])
  1936. -> 0.0035s
  1937. -- add_index(:views, [:parent_id, :parent_type, :ip, :viewed_at], {:unique=>true, :name=>"unique_views"})
  1938. -> 0.0032s
  1939. == 20120523180723 CreateViews: migrated (0.0138s) =============================
  1940.  
  1941. == 20120523184307 AddRepliesToForumThreads: migrating =========================
  1942. -- add_column(:forum_threads, :reply_count, :integer, {:default=>0, :null=>false})
  1943. -> 0.0045s
  1944. -- execute("UPDATE forum_threads SET reply_count = (SELECT COUNT(*) FROM posts WHERE posts.reply_to_post_number IS NOT NULL AND posts.forum_thread_id = forum_threads.id)")
  1945. -> 0.0006s
  1946. == 20120523184307 AddRepliesToForumThreads: migrated (0.0103s) ================
  1947.  
  1948. == 20120523201329 AddFeaturedToForumThreads: migrating ========================
  1949. -- add_column(:forum_threads, :featured_user1_id, :integer, {:null=>true})
  1950. -> 0.0006s
  1951. -- add_column(:forum_threads, :featured_user2_id, :integer, {:null=>true})
  1952. -> 0.0003s
  1953. -- add_column(:forum_threads, :featured_user3_id, :integer, {:null=>true})
  1954. -> 0.0003s
  1955. == 20120523201329 AddFeaturedToForumThreads: migrated (0.0063s) ===============
  1956.  
  1957. == 20120525194845 AddAvgTimeToForumThreads: migrating =========================
  1958. -- add_column(:forum_threads, :avg_time, :integer)
  1959. -> 0.0005s
  1960. -- execute("update forum_threads SET avg_time = abs(random() * 1200)")
  1961. -> 0.0005s
  1962. == 20120525194845 AddAvgTimeToForumThreads: migrated (0.0056s) ================
  1963.  
  1964. == 20120529175956 CreateUploads: migrating ====================================
  1965. -- create_table(:uploads)
  1966. -> 0.0038s
  1967. -- add_index(:uploads, :forum_thread_id)
  1968. -> 0.0024s
  1969. -- add_index(:uploads, :user_id)
  1970. -> 0.0026s
  1971. == 20120529175956 CreateUploads: migrated (0.0149s) ===========================
  1972.  
  1973. == 20120529202707 CreateStars: migrating ======================================
  1974. -- create_table(:stars, {:id=>false})
  1975. -> 0.0012s
  1976. -- add_index(:stars, [:parent_id, :parent_type, :user_id])
  1977. -> 0.0024s
  1978. == 20120529202707 CreateStars: migrated (0.0087s) =============================
  1979.  
  1980. == 20120530150726 CreateForumThreadUser: migrating ============================
  1981. -- create_table(:forum_thread_users, {:id=>false})
  1982. -> 0.0020s
  1983. -- execute("DELETE FROM read_posts")
  1984. -> 0.0003s
  1985. -- add_index(:forum_thread_users, [:forum_thread_id, :user_id], {:unique=>true})
  1986. -> 0.0022s
  1987. -- drop_table(:stars)
  1988. -> 0.0004s
  1989. -- drop_table(:last_read_posts)
  1990. -> 0.0006s
  1991. == 20120530150726 CreateForumThreadUser: migrated (0.0104s) ===================
  1992.  
  1993. == 20120530160745 MigratePosted: migrating ====================================
  1994. == 20120530160745 MigratePosted: migrated (0.0037s) ===========================
  1995.  
  1996. == 20120530200724 AddIndexToForumThreads: migrating ===========================
  1997. -- add_index(:forum_threads, :last_posted_at)
  1998. -> 0.0027s
  1999. == 20120530200724 AddIndexToForumThreads: migrated (0.0112s) ==================
  2000.  
  2001. == 20120530212912 CreateForumThreadLinks: migrating ===========================
  2002. -- create_table(:forum_thread_links)
  2003. -> 0.0054s
  2004. -- add_index(:forum_thread_links, :forum_thread_id)
  2005. -> 0.0027s
  2006. == 20120530212912 CreateForumThreadLinks: migrated (0.0142s) ==================
  2007.  
  2008. == 20120614190726 AddTagsToForumThreads: migrating ============================
  2009. -- add_column(:forum_threads, :tag, :string, {:null=>true, :limit=>25})
  2010. -> 0.0006s
  2011. == 20120614190726 AddTagsToForumThreads: migrated (0.0054s) ===================
  2012.  
  2013. == 20120614202024 AddQuoteCountToPosts: migrating =============================
  2014. -- add_column(:posts, :quote_count, :integer, {:default=>0, :null=>false})
  2015. -> 0.0067s
  2016. -- execute("UPDATE posts SET quote_count = 1 WHERE quoteless = 'f'")
  2017. -> 0.0004s
  2018. -- remove_column(:posts, :quoteless)
  2019. -> 0.0004s
  2020. == 20120614202024 AddQuoteCountToPosts: migrated (0.0128s) ====================
  2021.  
  2022. == 20120615180517 CreateBookmarks: migrating ==================================
  2023. -- create_table(:bookmarks)
  2024. -> 0.0029s
  2025. -- add_index(:bookmarks, [:user_id, :post_id], {:unique=>true})
  2026. -> 0.0024s
  2027. == 20120615180517 CreateBookmarks: migrated (0.0107s) =========================
  2028.  
  2029. == 20120618152946 AddReplyBelowToPosts: migrating =============================
  2030. -- add_column(:posts, :reply_below_post_number, :integer, {:null=>true})
  2031. -> 0.0006s
  2032. == 20120618152946 AddReplyBelowToPosts: migrated (0.0059s) ====================
  2033.  
  2034. == 20120618212349 CreatePostTimings: migrating ================================
  2035. -- create_table(:post_timings)
  2036. -> 0.0026s
  2037. -- add_index(:post_timings, [:thread_id, :post_number])
  2038. -> 0.0023s
  2039. -- add_index(:post_timings, [:thread_id, :post_number, :user_id], {:unique=>true})
  2040. -> 0.0022s
  2041. == 20120618212349 CreatePostTimings: migrated (0.0123s) =======================
  2042.  
  2043. == 20120618214856 CreateMessageBus: migrating =================================
  2044. -- create_table(:message_bus)
  2045. -> 0.0036s
  2046. -- add_index(:message_bus, [:created_at])
  2047. -> 0.0024s
  2048. == 20120618214856 CreateMessageBus: migrated (0.0117s) ========================
  2049.  
  2050. == 20120619150807 FixPostTimings: migrating ===================================
  2051. -- remove_index(:post_timings, [:thread_id, :post_number])
  2052. -> 0.0013s
  2053. -- remove_index(:post_timings, [:thread_id, :post_number, :user_id])
  2054. -> 0.0010s
  2055. -- rename_column(:post_timings, :thread_id, :forum_thread_id)
  2056. -> 0.0009s
  2057. -- add_index(:post_timings, [:forum_thread_id, :post_number], {:name=>"post_timings_summary"})
  2058. -> 0.0024s
  2059. -- add_index(:post_timings, [:forum_thread_id, :post_number, :user_id], {:unique=>true, :name=>"post_timings_unique"})
  2060. -> 0.0022s
  2061. == 20120619150807 FixPostTimings: migrated (0.0137s) ==========================
  2062.  
  2063. == 20120619153349 DropReadPosts: migrating ====================================
  2064. -- drop_table(:read_posts)
  2065. -> 0.0005s
  2066. == 20120619153349 DropReadPosts: migrated (0.0059s) ===========================
  2067.  
  2068. == 20120619172714 AddPostNumberToBookmarks: migrating =========================
  2069. -- drop_table(:bookmarks)
  2070. -> 0.0008s
  2071. -- create_table(:bookmarks)
  2072. -> 0.0027s
  2073. -- add_index(:bookmarks, [:user_id, :forum_thread_id, :post_number], {:unique=>true})
  2074. -> 0.0023s
  2075. == 20120619172714 AddPostNumberToBookmarks: migrated (0.0115s) ================
  2076.  
  2077. == 20120621155351 AddSeenPostCountToForumThreadUsers: migrating ===============
  2078. -- remove_column(:post_timings, :id)
  2079. -> 0.0008s
  2080. -- remove_column(:forum_thread_users, :created_at)
  2081. -> 0.0003s
  2082. -- remove_column(:forum_thread_users, :updated_at)
  2083. -> 0.0002s
  2084. -- add_column(:forum_thread_users, :seen_post_count, :integer)
  2085. -> 0.0004s
  2086. == 20120621155351 AddSeenPostCountToForumThreadUsers: migrated (0.0554s) ======
  2087.  
  2088. == 20120621190310 AddDeletedAtToForumThreads: migrating =======================
  2089. -- add_column(:forum_threads, :deleted_at, :datetime)
  2090. -> 0.0007s
  2091. == 20120621190310 AddDeletedAtToForumThreads: migrated (0.0174s) ==============
  2092.  
  2093. == 20120622200242 CreateNotifications: migrating ==============================
  2094. -- create_table(:notifications)
  2095. -> 0.0043s
  2096. -- add_index(:notifications, [:user_id, :created_at])
  2097. -> 0.0026s
  2098. == 20120622200242 CreateNotifications: migrated (0.0131s) =====================
  2099.  
  2100. == 20120625145714 AddSeenNotificationIdToUsers: migrating =====================
  2101. -- execute("TRUNCATE TABLE notifications")
  2102. -> 0.0028s
  2103. -- add_column(:users, :seen_notificaiton_id, :integer, {:default=>0, :null=>false})
  2104. -> 0.0105s
  2105. -- add_column(:notifications, :forum_thread_id, :integer, {:null=>true})
  2106. -> 0.0004s
  2107. -- add_column(:notifications, :post_number, :integer, {:null=>true})
  2108. -> 0.0003s
  2109. == 20120625145714 AddSeenNotificationIdToUsers: migrated (0.0199s) ============
  2110.  
  2111. == 20120625162318 AddDeletedAtToPosts: migrating ==============================
  2112. -- add_column(:posts, :deleted_at, :datetime)
  2113. -> 0.0006s
  2114. == 20120625162318 AddDeletedAtToPosts: migrated (0.0059s) =====================
  2115.  
  2116. == 20120625174544 AddHighestPostNumberToForumThreads: migrating ===============
  2117. -- add_column(:forum_threads, :highest_post_number, :integer, {:default=>0, :null=>false})
  2118. -> 0.0048s
  2119. -- execute("UPDATE forum_threads SET highest_post_number = (SELECT MAX(post_number) FROM posts WHERE posts.forum_thread_id = forum_threads.id)")
  2120. -> 0.0008s
  2121. == 20120625174544 AddHighestPostNumberToForumThreads: migrated (0.0114s) ======
  2122.  
  2123. == 20120625195326 AddImageUrlToForumThreads: migrating ========================
  2124. -- add_column(:forum_threads, :image_url, :string)
  2125. -> 0.0008s
  2126. == 20120625195326 AddImageUrlToForumThreads: migrated (0.0070s) ===============
  2127.  
  2128. == 20120629143908 RenameExpressionTypeId: migrating ===========================
  2129. -- add_column(:expression_types, :expression_index, :integer)
  2130. -> 0.0006s
  2131. -- execute("UPDATE expression_types SET expression_index = id")
  2132. -> 0.0003s
  2133. -- remove_column(:expression_types, :id)
  2134. -> 0.0006s
  2135. -- add_index(:expression_types, [:site_id, :expression_index], {:unique=>true})
  2136. -> 0.0028s
  2137. == 20120629143908 RenameExpressionTypeId: migrated (0.0108s) ==================
  2138.  
  2139. == 20120629150253 DenormalizeExpressions: migrating ===========================
  2140. -- add_column(:posts, :expression1_count, :integer, {:null=>false, :default=>0})
  2141. -> 0.0062s
  2142. -- add_column(:posts, :expression2_count, :integer, {:null=>false, :default=>0})
  2143. -> 0.0050s
  2144. -- add_column(:posts, :expression3_count, :integer, {:null=>false, :default=>0})
  2145. -> 0.0052s
  2146. -- add_column(:posts, :expression4_count, :integer, {:null=>false, :default=>0})
  2147. -> 0.0056s
  2148. -- add_column(:posts, :expression5_count, :integer, {:null=>false, :default=>0})
  2149. -> 0.0058s
  2150. -- add_column(:forum_threads, :expression1_count, :integer, {:null=>false, :default=>0})
  2151. -> 0.0038s
  2152. -- add_column(:forum_threads, :expression2_count, :integer, {:null=>false, :default=>0})
  2153. -> 0.0039s
  2154. -- add_column(:forum_threads, :expression3_count, :integer, {:null=>false, :default=>0})
  2155. -> 0.0038s
  2156. -- add_column(:forum_threads, :expression4_count, :integer, {:null=>false, :default=>0})
  2157. -> 0.0038s
  2158. -- add_column(:forum_threads, :expression5_count, :integer, {:null=>false, :default=>0})
  2159. -> 0.0036s
  2160. -- execute("update posts set expression1_count = (select count(*) from expressions where parent_id = posts.id and expression_type_id = 1)")
  2161. -> 0.0006s
  2162. -- execute("update forum_threads set expression1_count = (select sum(expression1_count) from posts where forum_thread_id = forum_threads.id)")
  2163. -> 0.0004s
  2164. -- execute("update posts set expression2_count = (select count(*) from expressions where parent_id = posts.id and expression_type_id = 2)")
  2165. -> 0.0003s
  2166. -- execute("update forum_threads set expression2_count = (select sum(expression2_count) from posts where forum_thread_id = forum_threads.id)")
  2167. -> 0.0003s
  2168. -- execute("update posts set expression3_count = (select count(*) from expressions where parent_id = posts.id and expression_type_id = 3)")
  2169. -> 0.0003s
  2170. -- execute("update forum_threads set expression3_count = (select sum(expression3_count) from posts where forum_thread_id = forum_threads.id)")
  2171. -> 0.0003s
  2172. -- execute("update posts set expression4_count = (select count(*) from expressions where parent_id = posts.id and expression_type_id = 4)")
  2173. -> 0.0003s
  2174. -- execute("update forum_threads set expression4_count = (select sum(expression4_count) from posts where forum_thread_id = forum_threads.id)")
  2175. -> 0.0003s
  2176. -- execute("update posts set expression5_count = (select count(*) from expressions where parent_id = posts.id and expression_type_id = 5)")
  2177. -> 0.0003s
  2178. -- execute("update forum_threads set expression5_count = (select sum(expression5_count) from posts where forum_thread_id = forum_threads.id)")
  2179. -> 0.0003s
  2180. == 20120629150253 DenormalizeExpressions: migrated (0.0566s) ==================
  2181.  
  2182. == 20120629151243 MakeExpressionsLessGeneric: migrating =======================
  2183. -- rename_column(:expressions, :parent_id, :post_id)
  2184. -> 0.0017s
  2185. -- rename_column(:expressions, :expression_type_id, :expression_index)
  2186. -> 0.0012s
  2187. -- remove_column(:expressions, :parent_type)
  2188. -> 0.0004s
  2189. -- add_index(:expressions, [:post_id, :expression_index, :user_id], {:unique=>true, :name=>"unique_by_user"})
  2190. -> 0.0024s
  2191. == 20120629151243 MakeExpressionsLessGeneric: migrated (0.0116s) ==============
  2192.  
  2193. == 20120629182637 CreateIncomingLinks: migrating ==============================
  2194. -- create_table(:incoming_links)
  2195. -> 0.0040s
  2196. -- add_index(:incoming_links, [:site_id, :forum_thread_id, :post_number], {:name=>"incoming_index"})
  2197. -> 0.0025s
  2198. == 20120629182637 CreateIncomingLinks: migrated (0.0125s) =====================
  2199.  
  2200. == 20120702211427 CreateReplies: migrating ====================================
  2201. -- create_table(:post_replies, {:id=>false})
  2202. -> 0.0013s
  2203. -- add_index(:post_replies, [:post_id, :reply_id], {:unique=>true})
  2204. -> 0.0029s
  2205. -- execute("INSERT INTO post_replies (post_id, reply_id, created_at, updated_at)\n SELECT p2.id, p.id, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP\n FROM posts AS p\n INNER JOIN posts AS p2 on p2.post_number = p.reply_to_post_number AND p2.forum_thread_id = P.forum_thread_id\n WHERE p.forum_thread_id IS NOT NULL")
  2206. -> 0.0008s
  2207. == 20120702211427 CreateReplies: migrated (0.0117s) ===========================
  2208.  
  2209. == 20120703184734 AddReflectionToForumThreadLinks: migrating ==================
  2210. -- add_column(:forum_thread_links, :reflection, :boolean, {:default=>false})
  2211. -> 0.0041s
  2212. -- change_column(:forum_thread_links, :post_id, :integer, {:null=>true})
  2213. -> 0.0004s
  2214. == 20120703184734 AddReflectionToForumThreadLinks: migrated (0.0081s) =========
  2215.  
  2216. == 20120703201312 AddIncomingLinkCountToPosts: migrating ======================
  2217. -- add_column(:posts, :incoming_link_count, :integer, {:default=>0, :null=>false})
  2218. -> 0.0052s
  2219. == 20120703201312 AddIncomingLinkCountToPosts: migrated (0.0090s) =============
  2220.  
  2221. == 20120703203623 AddIncomingLinkCountToForumThreads: migrating ===============
  2222. -- add_column(:forum_threads, :incoming_link_count, :integer, {:default=>0, :null=>false})
  2223. -> 0.0042s
  2224. == 20120703203623 AddIncomingLinkCountToForumThreads: migrated (0.0077s) ======
  2225.  
  2226. == 20120703210004 AddBookmarkCountToPosts: migrating ==========================
  2227. -- add_column(:posts, :bookmark_count, :integer, {:default=>0, :null=>false})
  2228. -> 0.0051s
  2229. -- add_column(:forum_threads, :bookmark_count, :integer, {:default=>0, :null=>false})
  2230. -> 0.0037s
  2231. -- add_column(:forum_threads, :star_count, :integer, {:default=>0, :null=>false})
  2232. -> 0.0044s
  2233. -- execute("UPDATE posts SET bookmark_count = (SELECT COUNT(*)\n FROM bookmarks\n WHERE post_number = posts.post_number AND forum_thread_id = posts.forum_thread_id)")
  2234. -> 0.0007s
  2235. -- execute("UPDATE forum_threads SET bookmark_count = (SELECT COUNT(*)\n FROM bookmarks\n WHERE forum_thread_id = forum_threads.id)")
  2236. -> 0.0004s
  2237. -- execute("UPDATE forum_threads SET star_count = (SELECT COUNT(*)\n FROM forum_thread_users\n WHERE forum_thread_id = forum_threads.id AND starred = true)")
  2238. -> 0.0004s
  2239. == 20120703210004 AddBookmarkCountToPosts: migrated (0.0201s) =================
  2240.  
  2241. == 20120704160659 AddAvgTimeToPosts: migrating ================================
  2242. -- add_column(:posts, :avg_time, :integer, {:null=>true})
  2243. -> 0.0006s
  2244. -- add_column(:posts, :score, :float, {:null=>true})
  2245. -> 0.0003s
  2246. == 20120704160659 AddAvgTimeToPosts: migrated (0.0056s) =======================
  2247.  
  2248. == 20120704201743 AddViewCountToPosts: migrating ==============================
  2249. -- add_column(:posts, :views, :integer, {:default=>0, :null=>false})
  2250. -> 0.0058s
  2251. -- execute("UPDATE posts SET views =\n (SELECT COUNT(*) FROM post_timings WHERE forum_thread_id = posts.forum_thread_id AND post_number = posts.post_number)")
  2252. -> 0.0006s
  2253. == 20120704201743 AddViewCountToPosts: migrated (0.0116s) =====================
  2254.  
  2255. == 20120705181724 AddUserToVersions: migrating ================================
  2256. -- execute("UPDATE versions SET user_type = 'User', user_id = posts.user_id\n FROM posts\n WHERE posts.id = versions.versioned_id")
  2257. -> 0.0009s
  2258. == 20120705181724 AddUserToVersions: migrated (0.0061s) =======================
  2259.  
  2260. == 20120708210305 AddLastPostedAtToUsers: migrating ===========================
  2261. -- add_column(:users, :last_posted_at, :datetime, {:null=>true})
  2262. -> 0.0009s
  2263. -- add_index(:users, :last_posted_at)
  2264. -> 0.0035s
  2265. -- execute("UPDATE users\n SET last_posted_at = (SELECT MAX(posts.created_at)\n FROM posts\n WHERE posts.user_id = users.id)")
  2266. -> 0.0006s
  2267. == 20120708210305 AddLastPostedAtToUsers: migrated (0.0104s) ==================
  2268.  
  2269. == 20120712150500 CreateCategories: migrating =================================
  2270. -- create_table(:categories)
  2271. -> 0.0037s
  2272. -- add_index(:categories, :name, {:unique=>true})
  2273. -> 0.0025s
  2274. -- add_index(:categories, :forum_thread_count)
  2275. -> 0.0020s
  2276. -- execute("INSERT INTO categories (name, forum_thread_count, created_at, updated_At)\n SELECT tag, count(*), CURRENT_TIMESTAMP, CURRENT_TIMESTAMP from forum_threads\n WHERE tag IS NOT NULL AND tag <> 'null'\n GROUP BY tag")
  2277. -> 0.0006s
  2278. == 20120712150500 CreateCategories: migrated (0.0145s) ========================
  2279.  
  2280. == 20120712151934 AddCategoryIdToForumThreads: migrating ======================
  2281. -- add_column(:forum_threads, :category_id, :integer)
  2282. -> 0.0006s
  2283. -- execute("UPDATE forum_threads SET category_id =\n (SELECT id\n FROM categories\n WHERE name = forum_threads.tag)")
  2284. -> 0.0006s
  2285. -- remove_column(:forum_threads, :tag)
  2286. -> 0.0003s
  2287. == 20120712151934 AddCategoryIdToForumThreads: migrated (0.0060s) =============
  2288.  
  2289. == 20120713201324 CreateCategoryFeaturedThreads: migrating ====================
  2290. -- create_table(:category_featured_threads, {:id=>false})
  2291. -> 0.0012s
  2292. -- add_index(:category_featured_threads, [:category_id, :forum_thread_id], {:unique=>true, :name=>"cat_featured_threads"})
  2293. -> 0.0024s
  2294. == 20120713201324 CreateCategoryFeaturedThreads: migrated (0.0085s) ===========
  2295.  
  2296. == 20120716020835 CreateSiteSettings: migrating ===============================
  2297. -- create_table(:site_settings)
  2298. -> 0.0038s
  2299. == 20120716020835 CreateSiteSettings: migrated (0.0083s) ======================
  2300.  
  2301. == 20120716173544 AddStatsToCategories: migrating =============================
  2302. -- add_column(:categories, :posts_year, :integer)
  2303. -> 0.0005s
  2304. -- add_column(:categories, :posts_month, :integer)
  2305. -> 0.0003s
  2306. -- add_column(:categories, :posts_week, :integer)
  2307. -> 0.0003s
  2308. == 20120716173544 AddStatsToCategories: migrated (0.0056s) ====================
  2309.  
  2310. == 20120718044955 CreateUserOpenIds: migrating ================================
  2311. -- create_table(:user_open_ids)
  2312. -> 0.0039s
  2313. -- add_index(:user_open_ids, [:url])
  2314. -> 0.0025s
  2315. == 20120718044955 CreateUserOpenIds: migrated (0.0121s) =======================
  2316.  
  2317. == 20120719004636 AddEmailHashedPasswordNameSaltToUsers: migrating ============
  2318. -- add_column(:users, :email, :string, {:limit=>256})
  2319. -> 0.0006s
  2320. -- execute("update users set email= md5(random()::text) || 'domain.com'")
  2321. -> 0.0004s
  2322. -- change_column(:users, :email, :string, {:limit=>256, :null=>false})
  2323. -> 0.0006s
  2324. -- add_index(:users, [:email], {:unique=>true})
  2325. -> 0.0024s
  2326. -- rename_column(:users, :display_username, :name)
  2327. -> 0.0022s
  2328. -- add_column(:users, :password_hash, :string, {:limit=>64})
  2329. -> 0.0003s
  2330. -- add_column(:users, :salt, :string, {:limit=>32})
  2331. -> 0.0004s
  2332. -- add_column(:users, :active, :boolean)
  2333. -> 0.0003s
  2334. -- add_column(:users, :activation_key, :string, {:limit=>32})
  2335. -> 0.0003s
  2336. -- add_column(:user_open_ids, :active, :boolean, {:null=>false})
  2337. -> 0.0003s
  2338. == 20120719004636 AddEmailHashedPasswordNameSaltToUsers: migrated (0.0138s) ===
  2339.  
  2340. == 20120720013733 AddUsernameLowerToUsers: migrating ==========================
  2341. -- add_column(:users, :username_lower, :string, {:limit=>20})
  2342. -> 0.0006s
  2343. -- execute("update users set username_lower = lower(username)")
  2344. -> 0.0004s
  2345. -- add_index(:users, [:username_lower], {:unique=>true})
  2346. -> 0.0028s
  2347. -- change_column(:users, :username_lower, :string, {:limit=>20, :null=>false})
  2348. -> 0.0008s
  2349. == 20120720013733 AddUsernameLowerToUsers: migrated (0.0115s) =================
  2350.  
  2351. == 20120720044246 AddAuthTokenToUsers: migrating ==============================
  2352. -- add_column(:users, :auth_token, :string, {:limit=>32})
  2353. -> 0.0006s
  2354. -- add_index(:users, [:auth_token])
  2355. -> 0.0025s
  2356. == 20120720044246 AddAuthTokenToUsers: migrated (0.0084s) =====================
  2357.  
  2358. == 20120720162422 AddForumIdToCategories: migrating ===========================
  2359. -- add_column(:categories, :forum_id, :integer)
  2360. -> 0.0006s
  2361. -- execute("UPDATE categories SET forum_id = (SELECT MIN(id) FROM forums)")
  2362. -> 0.0006s
  2363. -- change_column(:categories, :forum_id, :integer, {:null=>false})
  2364. -> 0.0005s
  2365. == 20120720162422 AddForumIdToCategories: migrated (0.0070s) ==================
  2366.  
  2367. == 20120723051512 AddNotNullsToUserOpenIds: migrating =========================
  2368. -- change_column(:user_open_ids, :user_id, :integer, {:null=>false})
  2369. -> 0.0006s
  2370. -- change_column(:user_open_ids, :email, :string, {:null=>false})
  2371. -> 0.0005s
  2372. -- change_column(:user_open_ids, :url, :string, {:null=>false})
  2373. -> 0.0009s
  2374. == 20120723051512 AddNotNullsToUserOpenIds: migrated (0.0081s) ================
  2375.  
  2376. == 20120724234502 AddLastSeenAtToUsers: migrating =============================
  2377. -- add_column(:users, :last_seen_at, :datetime)
  2378. -> 0.0005s
  2379. == 20120724234502 AddLastSeenAtToUsers: migrated (0.0046s) ====================
  2380.  
  2381. == 20120724234711 AddWebsiteToUsers: migrating ================================
  2382. -- add_column(:users, :website, :string)
  2383. -> 0.0004s
  2384. == 20120724234711 AddWebsiteToUsers: migrated (0.0036s) =======================
  2385.  
  2386. == 20120725183347 AddExcerptToCategories: migrating ===========================
  2387. -- add_column(:categories, :excerpt, :string, {:limit=>250})
  2388. -> 0.0005s
  2389. == 20120725183347 AddExcerptToCategories: migrated (0.0037s) ==================
  2390.  
  2391. == 20120726201830 AddInvisibleToForumThread: migrating ========================
  2392. -- add_column(:forum_threads, :invisible, :boolean, {:default=>false, :null=>false})
  2393. -> 0.0045s
  2394. -- change_column(:categories, :excerpt, :text, {:null=>true})
  2395. -> 0.0014s
  2396. == 20120726201830 AddInvisibleToForumThread: migrated (0.0094s) ===============
  2397.  
  2398. == 20120726235129 AddUserIdToCategories: migrating ============================
  2399. -- add_column(:categories, :user_id, :integer)
  2400. -> 0.0004s
  2401. -- execute("UPDATE categories SET user_id = 1186")
  2402. -> 0.0003s
  2403. -- change_column(:categories, :user_id, :integer, {:null=>false})
  2404. -> 0.0004s
  2405. == 20120726235129 AddUserIdToCategories: migrated (0.0048s) ===================
  2406.  
  2407. == 20120727005556 RemoveExcerptFromCategories: migrating ======================
  2408. -- remove_column(:categories, :excerpt)
  2409. -> 0.0003s
  2410. == 20120727005556 RemoveExcerptFromCategories: migrated (0.0036s) =============
  2411.  
  2412. == 20120727150428 RenameInvisible: migrating ==================================
  2413. -- add_column(:forum_threads, :visible, :boolean, {:default=>true, :null=>false})
  2414. -> 0.0043s
  2415. -- execute("UPDATE forum_threads SET visible = CASE WHEN invisible THEN false ELSE true END")
  2416. -> 0.0003s
  2417. -- remove_column(:forum_threads, :invisible)
  2418. -> 0.0003s
  2419. == 20120727150428 RenameInvisible: migrated (0.0087s) =========================
  2420.  
  2421. == 20120727213543 AddThreadCountsToCategories: migrating ======================
  2422. -- add_column(:categories, :threads_year, :integer)
  2423. -> 0.0004s
  2424. -- add_column(:categories, :threads_month, :integer)
  2425. -> 0.0003s
  2426. -- add_column(:categories, :threads_week, :integer)
  2427. -> 0.0003s
  2428. -- remove_column(:categories, :posts_year)
  2429. -> 0.0003s
  2430. -- remove_column(:categories, :posts_month)
  2431. -> 0.0002s
  2432. -- remove_column(:categories, :posts_week)
  2433. -> 0.0002s
  2434. == 20120727213543 AddThreadCountsToCategories: migrated (0.0053s) =============
  2435.  
  2436. == 20120802151210 AddIconToExpressionTypes: migrating =========================
  2437. -- add_column(:expression_types, :icon, :string, {:limit=>20})
  2438. -> 0.0004s
  2439. -- execute("UPDATE expression_types SET icon = 'heart' WHERE expression_index = 1")
  2440. -> 0.0003s
  2441. == 20120802151210 AddIconToExpressionTypes: migrated (0.0043s) ================
  2442.  
  2443. == 20120803191426 AddAdminFlagToUsers: migrating ==============================
  2444. -- add_column(:users, :admin, :boolean, {:default=>false, :null=>false})
  2445. -> 0.0116s
  2446. -- add_column(:users, :moderator, :boolean, {:default=>false, :null=>false})
  2447. -> 0.0119s
  2448. -- execute("UPDATE users SET admin = TRUE where lower(username) in ('eviltrout', 'codinghorror', 'sam', 'hanzo')")
  2449. -> 0.0005s
  2450. == 20120803191426 AddAdminFlagToUsers: migrated (0.0311s) =====================
  2451.  
  2452. == 20120806030641 AddNewPasswordNewSaltEmailTokenToUsers: migrating ===========
  2453. -- add_column(:users, :new_salt, :string, {:limit=>32})
  2454. -> 0.0007s
  2455. -- add_column(:users, :new_password_hash, :string, {:limit=>64})
  2456. -> 0.0005s
  2457. -- add_column(:users, :email_token, :string, {:limit=>32})
  2458. -> 0.0005s
  2459. -- remove_column(:users, :activation_key)
  2460. -> 0.0003s
  2461. == 20120806030641 AddNewPasswordNewSaltEmailTokenToUsers: migrated (0.0072s) ==
  2462.  
  2463. == 20120806062617 RemoveNewPasswordStuffFromUser: migrating ===================
  2464. -- remove_column(:users, :new_password_hash)
  2465. -> 0.0004s
  2466. -- remove_column(:users, :new_salt)
  2467. -> 0.0003s
  2468. == 20120806062617 RemoveNewPasswordStuffFromUser: migrated (0.0047s) ==========
  2469.  
  2470. == 20120807223020 CreateActions: migrating ====================================
  2471. -- create_table(:actions)
  2472. -> 0.0031s
  2473. -- add_index(:actions, [:user_id, :action_type])
  2474. -> 0.0024s
  2475. -- add_index(:actions, [:acting_user_id])
  2476. -> 0.0024s
  2477. == 20120807223020 CreateActions: migrated (0.0127s) ===========================
  2478.  
  2479. == 20120809020415 RemoveSiteId: migrating =====================================
  2480. -- drop_table("sites")
  2481. -> 0.0009s
  2482. -- remove_index("incoming_links", {:name=>"incoming_index"})
  2483. -> 0.0012s
  2484. -- add_index("incoming_links", ["forum_thread_id", "post_number"], {:name=>"incoming_index"})
  2485. -> 0.0023s
  2486. -- remove_column("incoming_links", "site_id")
  2487. -> 0.0003s
  2488. -- remove_index("users", {:name=>"index_users_on_site_id"})
  2489. -> 0.0012s
  2490. -- remove_column("users", "site_id")
  2491. -> 0.0003s
  2492. -- remove_index("expression_types", {:name=>"index_expression_types_on_site_id_and_expression_index"})
  2493. -> 0.0013s
  2494. -- remove_index("expression_types", {:name=>"index_expression_types_on_site_id_and_name"})
  2495. -> 0.0011s
  2496. -- remove_column("expression_types", "site_id")
  2497. -> 0.0003s
  2498. -- add_index("expression_types", ["expression_index"], {:unique=>true})
  2499. -> 0.0021s
  2500. -- add_index("expression_types", ["name"], {:unique=>true})
  2501. -> 0.0022s
  2502. -- drop_table("forums")
  2503. -> 0.0007s
  2504. == 20120809020415 RemoveSiteId: migrated (0.0203s) ============================
  2505.  
  2506. == 20120809030647 RemoveForumId: migrating ====================================
  2507. -- remove_column("forum_threads", "forum_id")
  2508. -> 0.0005s
  2509. -- remove_column("categories", "forum_id")
  2510. -> 0.0004s
  2511. == 20120809030647 RemoveForumId: migrated (0.0060s) ===========================
  2512.  
  2513. == 20120809053414 CorrectIndexingOnPosts: migrating ===========================
  2514. -- execute("update posts pp\nset post_number = c.real_number\nfrom\n(\n\tselect p1.id, count(*) real_number from posts p1\n\tjoin posts p2 on p1.forum_thread_id = p2.forum_thread_id\n\twhere p2.id <= p1.id and p1.forum_thread_id = p2.forum_thread_id\n group by p1.id\n) as c\nwhere pp.id = c.id and pp.post_number <> c.real_number")
  2515. -> 0.0007s
  2516. -- remove_index("posts", ["forum_thread_id", "post_number"])
  2517. -> 0.0013s
  2518. -- add_index("posts", ["forum_thread_id", "post_number"], {:unique=>true})
  2519. -> 0.0025s
  2520. == 20120809053414 CorrectIndexingOnPosts: migrated (0.0104s) ==================
  2521.  
  2522. == 20120809154750 RemoveIndexForNow: migrating ================================
  2523. -- remove_index("posts", ["forum_thread_id", "post_number"])
  2524. -> 0.0014s
  2525. -- add_index("posts", ["forum_thread_id", "post_number"], {:unique=>false})
  2526. -> 0.0023s
  2527. == 20120809154750 RemoveIndexForNow: migrated (0.0088s) =======================
  2528.  
  2529. == 20120809174649 CreatePostActions: migrating ================================
  2530. -- create_table(:post_actions)
  2531. -> 0.0031s
  2532. -- add_index(:post_actions, ["post_id"])
  2533. -> 0.0025s
  2534. -- execute("create unique index idx_unique_actions on\n post_actions(user_id, post_action_type_id, post_id) where deleted_at is null")
  2535. -> 0.0010s
  2536. == 20120809174649 CreatePostActions: migrated (0.0136s) =======================
  2537.  
  2538. == 20120809175110 CreatePostActionTypes: migrating ============================
  2539. -- create_table(:post_action_types, {:id=>false})
  2540. -> 0.0030s
  2541. == 20120809175110 CreatePostActionTypes: migrated (0.0086s) ===================
  2542.  
  2543. == 20120809201855 MigrateBookmarksToPostActions: migrating ====================
  2544. -- drop_table("bookmarks")
  2545. -> 0.0009s
  2546. == 20120809201855 MigrateBookmarksToPostActions: migrated (0.0061s) ===========
  2547.  
  2548. == 20120810064839 RenameActionsToUserActions: migrating =======================
  2549. -- rename_table("actions", "user_actions")
  2550. -> 0.0043s
  2551. == 20120810064839 RenameActionsToUserActions: migrated (0.0098s) ==============
  2552.  
  2553. == 20120812235417 RetireExpressions: migrating ================================
  2554. -- execute("insert into post_actions (post_action_type_id, user_id, post_id, created_at, updated_at)\nselect\n\tcase\n\t when expression_index=1 then 3\n\t when expression_index=2 then 4\n\t when expression_index=3 then 2\n\tend\n\n\t, user_id, post_id, created_at, updated_at from expressions")
  2555. -> 0.0005s
  2556. -- drop_table("expressions")
  2557. -> 0.0005s
  2558. -- drop_table("expression_types")
  2559. -> 0.0007s
  2560. == 20120812235417 RetireExpressions: migrated (0.0072s) =======================
  2561.  
  2562. == 20120813004347 RenameExpressionColumnsInForumThread: migrating =============
  2563. -- rename_column("forum_threads", "expression1_count", "off_topic_count")
  2564. -> 0.0017s
  2565. -- rename_column("forum_threads", "expression2_count", "offensive_count")
  2566. -> 0.0013s
  2567. -- rename_column("forum_threads", "expression3_count", "like_count")
  2568. -> 0.0012s
  2569. -- remove_column("forum_threads", "expression4_count")
  2570. -> 0.0004s
  2571. -- remove_column("forum_threads", "expression5_count")
  2572. -> 0.0004s
  2573. == 20120813004347 RenameExpressionColumnsInForumThread: migrated (0.0106s) ====
  2574.  
  2575. == 20120813042912 RenameExpressionColumnsInPosts: migrating ===================
  2576. -- rename_column("posts", "expression1_count", "off_topic_count")
  2577. -> 0.0023s
  2578. -- rename_column("posts", "expression2_count", "offensive_count")
  2579. -> 0.0019s
  2580. -- rename_column("posts", "expression3_count", "like_count")
  2581. -> 0.0019s
  2582. -- remove_column("posts", "expression4_count")
  2583. -> 0.0004s
  2584. -- remove_column("posts", "expression5_count")
  2585. -> 0.0003s
  2586. == 20120813042912 RenameExpressionColumnsInPosts: migrated (0.0123s) ==========
  2587.  
  2588. == 20120813201426 CreateForumThreadLinkClicks: migrating ======================
  2589. -- create_table(:forum_thread_link_clicks)
  2590. -> 0.0032s
  2591. -- add_column(:forum_thread_links, :clicks, :integer, {:default=>0, :null=>false})
  2592. -> 0.0041s
  2593. -- add_index(:forum_thread_link_clicks, :forum_thread_link_id, {:name=>:by_link})
  2594. -> 0.0025s
  2595. == 20120813201426 CreateForumThreadLinkClicks: migrated (0.0151s) =============
  2596.  
  2597. == 20120815004411 AddUniqueIndexToForumThreadLinks: migrating =================
  2598. -- execute("DELETE FROM forum_thread_links USING forum_thread_links ftl2\n WHERE ftl2.forum_thread_id = forum_thread_links.forum_thread_id\n AND ftl2.post_id = forum_thread_links.post_id\n AND ftl2.url = forum_thread_links.url\n AND ftl2.id < forum_thread_links.id")
  2599. -> 0.0006s
  2600. -- add_index(:forum_thread_links, [:forum_thread_id, :post_id, :url], {:unique=>true, :name=>"unique_post_links"})
  2601. -> 0.0026s
  2602. == 20120815004411 AddUniqueIndexToForumThreadLinks: migrated (0.0081s) ========
  2603.  
  2604. == 20120815180106 AddPostTypeToPosts: migrating ===============================
  2605. -- add_column(:posts, :post_type, :integer, {:default=>1, :null=>false})
  2606. -> 0.0057s
  2607. == 20120815180106 AddPostTypeToPosts: migrated (0.0114s) ======================
  2608.  
  2609. == 20120815204733 AddModeratorPostsCountToForumThreads: migrating =============
  2610. -- add_column(:forum_threads, :moderator_posts_count, :integer, {:default=>0, :null=>false})
  2611. -> 0.0050s
  2612. -- execute("UPDATE forum_threads\n SET moderator_posts_count = (SELECT COUNT(*)\n FROM posts WHERE posts.forum_thread_id = forum_threads.id\n AND posts.post_type = 2)")
  2613. -> 0.0006s
  2614. == 20120815204733 AddModeratorPostsCountToForumThreads: migrated (0.0113s) ====
  2615.  
  2616. == 20120816050526 AddUniqueConstraintToUserActions: migrating =================
  2617. -- add_index(:user_actions, ["action_type", "user_id", "target_forum_thread_id", "target_post_id", "acting_user_id"], {:name=>"idx_unique_rows", :unique=>true})
  2618. -> 0.0029s
  2619. == 20120816050526 AddUniqueConstraintToUserActions: migrated (0.0083s) ========
  2620.  
  2621. == 20120816205537 AddForumThreadStates: migrating =============================
  2622. -- add_column(:forum_threads, :closed, :boolean, {:default=>false, :null=>false})
  2623. -> 0.0047s
  2624. -- add_column(:forum_threads, :sticky, :boolean, {:default=>false, :null=>false})
  2625. -> 0.0040s
  2626. -- add_column(:forum_threads, :archived, :boolean, {:default=>false, :null=>false})
  2627. -> 0.0050s
  2628. == 20120816205537 AddForumThreadStates: migrated (0.0202s) ====================
  2629.  
  2630. == 20120816205538 AddStarredAtToForumThreadUser: migrating ====================
  2631. -- add_column(:forum_thread_users, :starred_at, :datetime)
  2632. -> 0.0006s
  2633. -- execute("alter table forum_thread_users add constraint test_starred_at check(starred = false or starred_at is not null)")
  2634. -> 0.0004s
  2635. == 20120816205538 AddStarredAtToForumThreadUser: migrated (0.0070s) ===========
  2636.  
  2637. == 20120820191804 AddSearchIndices: migrating =================================
  2638. -- execute("CREATE INDEX idx_search_user ON users USING GIN(to_tsvector('english', username))")
  2639. -> 0.0023s
  2640. -- execute("CREATE INDEX idx_search_thread ON forum_threads USING GIN(to_tsvector('english', title))")
  2641. -> 0.0005s
  2642. == 20120820191804 AddSearchIndices: migrated (0.0078s) ========================
  2643.  
  2644. == 20120821191616 AddBumpedAtToForumThreads: migrating ========================
  2645. -- add_column(:forum_threads, :bumped_at, :datetime)
  2646. -> 0.0006s
  2647. -- execute("UPDATE forum_threads SET bumped_at = last_posted_at")
  2648. -> 0.0003s
  2649. -- change_column(:forum_threads, :bumped_at, :datetime, {:null=>false})
  2650. -> 0.0005s
  2651. -- remove_index(:forum_threads, :last_posted_at)
  2652. -> 0.0012s
  2653. -- add_index(:forum_threads, :bumped_at, {:order=>{:bumped_at=>:desc}})
  2654. -> 0.0023s
  2655. == 20120821191616 AddBumpedAtToForumThreads: migrated (0.0106s) ===============
  2656.  
  2657. == 20120823205956 AddSlugToCategories: migrating ==============================
  2658. -- add_column(:categories, :slug, :string)
  2659. -> 0.0005s
  2660. -- execute("UPDATE categories SET slug = REPLACE(LOWER(name), ' ', '-')")
  2661. -> 0.0003s
  2662. -- change_column(:categories, :slug, :string, {:null=>false})
  2663. -> 0.0005s
  2664. == 20120823205956 AddSlugToCategories: migrated (0.0060s) =====================
  2665.  
  2666. == 20120824171908 CreateCategoryFeaturedUsers: migrating ======================
  2667. -- create_table(:category_featured_users)
  2668. -> 0.0028s
  2669. -- add_index(:category_featured_users, [:category_id, :user_id], {:unique=>true})
  2670. -> 0.0025s
  2671. == 20120824171908 CreateCategoryFeaturedUsers: migrated (0.0117s) =============
  2672.  
  2673. == 20120828204209 CreateOneboxRenders: migrating ==============================
  2674. -- create_table(:onebox_renders)
  2675. -> 0.0040s
  2676. -- add_index(:onebox_renders, :url, {:unique=>true})
  2677. -> 0.0023s
  2678. == 20120828204209 CreateOneboxRenders: migrated (0.0125s) =====================
  2679.  
  2680. == 20120828204624 CreatePostOneboxRenders: migrating ==========================
  2681. -- create_table(:post_onebox_renders, {:id=>false})
  2682. -> 0.0012s
  2683. -- add_index(:post_onebox_renders, [:post_id, :onebox_render_id], {:unique=>true})
  2684. -> 0.0028s
  2685. == 20120828204624 CreatePostOneboxRenders: migrated (0.0085s) =================
  2686.  
  2687. == 20120830182736 AddPreviewToOneboxRenders: migrating ========================
  2688. -- add_column(:onebox_renders, :preview, :text, {:null=>true})
  2689. -> 0.0005s
  2690. -- execute("DELETE FROM onebox_renders")
  2691. -> 0.0003s
  2692. -- execute("DELETE FROM post_onebox_renders")
  2693. -> 0.0003s
  2694. == 20120830182736 AddPreviewToOneboxRenders: migrated (0.0061s) ===============
  2695.  
  2696. == 20120910171504 RemoveDescriptionFromSiteSettings: migrating ================
  2697. -- remove_column(:site_settings, :description)
  2698. -> 0.0004s
  2699. == 20120910171504 RemoveDescriptionFromSiteSettings: migrated (0.0039s) =======
  2700.  
  2701. == 20120918152319 RenameViewsToReads: migrating ===============================
  2702. -- rename_column(:posts, :views, :reads)
  2703. -> 0.0023s
  2704. == 20120918152319 RenameViewsToReads: migrated (0.0059s) ======================
  2705.  
  2706. == 20120918205931 AddSubTagToForumThreads: migrating ==========================
  2707. -- add_column(:forum_threads, :sub_tag, :string)
  2708. -> 0.0006s
  2709. -- add_index(:forum_threads, [:category_id, :sub_tag, :bumped_at])
  2710. -> 0.0026s
  2711. == 20120918205931 AddSubTagToForumThreads: migrated (0.0082s) =================
  2712.  
  2713. == 20120919152846 AddHasBestOfToForumThreads: migrating =======================
  2714. -- add_column(:forum_threads, :has_best_of, :boolean, {:default=>false, :null=>false})
  2715. -> 0.0052s
  2716. -- change_column(:posts, :score, :float)
  2717. -> 0.0003s
  2718. == 20120919152846 AddHasBestOfToForumThreads: migrated (0.0105s) ==============
  2719.  
  2720. == 20120921055428 AddTwitterUserInfo: migrating ===============================
  2721. -- create_table(:twitter_user_infos)
  2722. -> 0.0040s
  2723. -- add_index(:twitter_user_infos, [:twitter_user_id], {:unique=>true})
  2724. -> 0.0023s
  2725. -- add_index(:twitter_user_infos, [:user_id], {:unique=>true})
  2726. -> 0.0020s
  2727. == 20120921055428 AddTwitterUserInfo: migrated (0.0144s) ======================
  2728.  
  2729. == 20120921155050 CreateArchetypes: migrating =================================
  2730. -- create_table(:archetypes)
  2731. -> 0.0036s
  2732. -- add_index(:archetypes, :name_key, {:unique=>true})
  2733. -> 0.0022s
  2734. -- execute("INSERT INTO archetypes (name_key, created_at, updated_at) VALUES ('regular', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)")
  2735. -> 0.0004s
  2736. -- execute("INSERT INTO archetypes (name_key, created_at, updated_at) VALUES ('poll', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)")
  2737. -> 0.0002s
  2738. -- add_column(:forum_threads, :archetype_id, :integer, {:default=>1, :null=>false})
  2739. -> 0.0051s
  2740. == 20120921155050 CreateArchetypes: migrated (0.0173s) ========================
  2741.  
  2742. == 20120921162512 AddMetaDataToForumThreads: migrating ========================
  2743. -- execute("CREATE EXTENSION IF NOT EXISTS hstore")
  2744. -> 0.0002s
  2745. -- add_column(:forum_threads, :meta_data, :hstore)
  2746. -> 0.0006s
  2747. == 20120921162512 AddMetaDataToForumThreads: migrated (0.0049s) ===============
  2748.  
  2749. == 20120921163606 CreateArchetypeOptions: migrating ===========================
  2750. -- create_table(:archetype_options)
  2751. -> 0.0039s
  2752. -- add_index(:archetype_options, :archetype_id)
  2753. -> 0.0022s
  2754. -- execute("INSERT INTO archetype_options (archetype_id, key, option_type, created_at, updated_at)\n VALUES (2, 'private_poll', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)")
  2755. -> 0.0004s
  2756. -- execute("INSERT INTO archetype_options (archetype_id, key, option_type, created_at, updated_at)\n VALUES (2, 'single_vote', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)")
  2757. -> 0.0002s
  2758. == 20120921163606 CreateArchetypeOptions: migrated (0.0118s) ==================
  2759.  
  2760. == 20120924182000 AddHstoreExtension: migrating ===============================
  2761. -- execute("CREATE EXTENSION IF NOT EXISTS hstore")
  2762. -> 0.0002s
  2763. == 20120924182000 AddHstoreExtension: migrated (0.0037s) ======================
  2764.  
  2765. == 20120924182031 AddVoteCountToPosts: migrating ==============================
  2766. -- add_column(:forum_threads, :vote_count, :integer, {:default=>0, :null=>false})
  2767. -> 0.0053s
  2768. -- add_column(:posts, :vote_count, :integer, {:default=>0, :null=>false})
  2769. -> 0.0055s
  2770. == 20120924182031 AddVoteCountToPosts: migrated (0.0162s) =====================
  2771.  
  2772. == 20120925171620 RemoveEnglishFromPostActionTypes: migrating =================
  2773. -- rename_column(:post_action_types, :name, :name_key)
  2774. -> 0.0011s
  2775. -- execute("UPDATE post_action_types SET name_key = regexp_replace(lower(name_key), '[^a-z]', '_')")
  2776. -> 0.0003s
  2777. -- remove_column(:post_action_types, :long_form)
  2778. -> 0.0003s
  2779. -- remove_column(:post_action_types, :description)
  2780. -> 0.0002s
  2781. == 20120925171620 RemoveEnglishFromPostActionTypes: migrated (0.0074s) ========
  2782.  
  2783. == 20120925190802 AddSequenceToPostActionTypes: migrating =====================
  2784. -- remove_column(:post_action_types, :id)
  2785. -> 0.0004s
  2786. -- add_column(:post_action_types, :id, :primary_key)
  2787. -> 0.0033s
  2788. == 20120925190802 AddSequenceToPostActionTypes: migrated (0.0093s) ============
  2789.  
  2790. == 20120928170023 AddSortOrderToPosts: migrating ==============================
  2791. -- add_column(:posts, :sort_order, :integer)
  2792. -> 0.0007s
  2793. -- remove_index(:posts, :user_id)
  2794. -> 0.0013s
  2795. -- execute("UPDATE posts AS p SET sort_order = post_number FROM forum_threads AS ft WHERE ft.id = p.forum_thread_id AND ft.archetype_id = 1")
  2796. -> 0.0008s
  2797. -- execute("UPDATE posts AS p SET sort_order =\n CASE WHEN post_number = 1 THEN 1\n ELSE 2147483647 - p.vote_count\n END\n FROM forum_threads AS ft\n WHERE ft.id = p.forum_thread_id AND ft.archetype_id = 2")
  2798. -> 0.0004s
  2799. == 20120928170023 AddSortOrderToPosts: migrated (0.0090s) =====================
  2800.  
  2801. == 20121009161116 AddEmailStuffToUsers: migrating =============================
  2802. -- add_column(:users, :last_emailed_at, :datetime, {:null=>true})
  2803. -> 0.0007s
  2804. -- add_column(:users, :email_digests, :boolean, {:null=>false, :default=>true})
  2805. -> 0.0069s
  2806. == 20121009161116 AddEmailStuffToUsers: migrated (0.0136s) ====================
  2807.  
  2808. == 20121011155904 CreateEmailLogs: migrating ==================================
  2809. -- create_table(:email_logs)
  2810. -> 0.0039s
  2811. -- add_index(:email_logs, :created_at, {:order=>{:created_at=>:desc}})
  2812. -> 0.0024s
  2813. -- add_index(:email_logs, [:user_id, :created_at], {:order=>{:created_at=>:desc}})
  2814. -> 0.0020s
  2815. == 20121011155904 CreateEmailLogs: migrated (0.0146s) =========================
  2816.  
  2817. == 20121017162924 ConvertArchetypes: migrating ================================
  2818. -- add_column(:forum_threads, :archetype, :string, {:default=>"regular", :null=>false})
  2819. -> 0.0053s
  2820. -- execute("UPDATE forum_threads SET archetype = a.name_key FROM archetypes AS a WHERE a.id = forum_threads.archetype_id")
  2821. -> 0.0005s
  2822. -- remove_column(:forum_threads, :archetype_id)
  2823. -> 0.0004s
  2824. -- drop_table(:archetypes)
  2825. -> 0.0007s
  2826. -- drop_table(:archetype_options)
  2827. -> 0.0008s
  2828. == 20121017162924 ConvertArchetypes: migrated (0.0131s) =======================
  2829.  
  2830. == 20121018103721 RenameForumThreadTables: migrating ==========================
  2831. -- rename_table("forum_threads", "topics")
  2832. -> 0.0044s
  2833. -- rename_table("forum_thread_link_clicks", "topic_link_clicks")
  2834. -> 0.0027s
  2835. -- rename_table("forum_thread_links", "topic_links")
  2836. -> 0.0032s
  2837. -- rename_table("forum_thread_users", "topic_users")
  2838. -> 0.0038s
  2839. -- rename_table("category_featured_threads", "category_featured_topics")
  2840. -> 0.0031s
  2841. -- rename_column("categories", "forum_thread_id", "topic_id")
  2842. -> 0.0015s
  2843. -- rename_column("categories", "top1_forum_thread_id", "top1_topic_id")
  2844. -> 0.0015s
  2845. -- rename_column("categories", "top2_forum_thread_id", "top2_topic_id")
  2846. -> 0.0014s
  2847. -- rename_column("categories", "forum_thread_count", "topic_count")
  2848. -> 0.0017s
  2849. -- rename_column("categories", "threads_year", "topics_year")
  2850. -> 0.0015s
  2851. -- rename_column("categories", "threads_month", "topics_month")
  2852. -> 0.0015s
  2853. -- rename_column("categories", "threads_week", "topics_week")
  2854. -> 0.0014s
  2855. -- rename_column("category_featured_topics", "forum_thread_id", "topic_id")
  2856. -> 0.0012s
  2857. -- rename_column("topic_link_clicks", "forum_thread_link_id", "topic_link_id")
  2858. -> 0.0012s
  2859. -- rename_column("topic_links", "forum_thread_id", "topic_id")
  2860. -> 0.0017s
  2861. -- rename_column("topic_links", "link_forum_thread_id", "link_topic_id")
  2862. -> 0.0016s
  2863. -- rename_column("topic_users", "forum_thread_id", "topic_id")
  2864. -> 0.0014s
  2865. -- rename_column("incoming_links", "forum_thread_id", "topic_id")
  2866. -> 0.0013s
  2867. -- rename_column("notifications", "forum_thread_id", "topic_id")
  2868. -> 0.0012s
  2869. -- rename_column("post_timings", "forum_thread_id", "topic_id")
  2870. -> 0.0016s
  2871. -- rename_column("posts", "forum_thread_id", "topic_id")
  2872. -> 0.0018s
  2873. -- rename_column("user_actions", "target_forum_thread_id", "target_topic_id")
  2874. -> 0.0019s
  2875. -- rename_column("uploads", "forum_thread_id", "topic_id")
  2876. -> 0.0017s
  2877. == 20121018103721 RenameForumThreadTables: migrated (0.0515s) =================
  2878.  
  2879. == 20121018133039 CreateTopicAllowedUsers: migrating ==========================
  2880. -- create_table(:topic_allowed_users)
  2881. -> 0.0027s
  2882. -- add_index(:topic_allowed_users, [:topic_id, :user_id], {:unique=>true})
  2883. -> 0.0023s
  2884. -- add_index(:topic_allowed_users, [:user_id, :topic_id], {:unique=>true})
  2885. -> 0.0020s
  2886. == 20121018133039 CreateTopicAllowedUsers: migrated (0.0122s) =================
  2887.  
  2888. == 20121018182709 FixNotificationData: migrating ==============================
  2889. -- execute("UPDATE notifications SET data = replace(data, 'thread_title', 'topic_title')")
  2890. -> 0.0004s
  2891. == 20121018182709 FixNotificationData: migrated (0.0042s) =====================
  2892.  
  2893. == 20121106015500 DropAvatarUrlFromUsers: migrating ===========================
  2894. -- remove_column(:users, :avatar_url)
  2895. -> 0.0004s
  2896. == 20121106015500 DropAvatarUrlFromUsers: migrated (0.0038s) ==================
  2897.  
  2898. == 20121108193516 AddPostActionIdToNotifications: migrating ===================
  2899. -- add_column(:notifications, :post_action_id, :integer, {:null=>true})
  2900. -> 0.0005s
  2901. -- add_index(:notifications, :post_action_id)
  2902. -> 0.0024s
  2903. == 20121108193516 AddPostActionIdToNotifications: migrated (0.0063s) ==========
  2904.  
  2905. == 20121109164630 CreateTrustLevels: migrating ================================
  2906. -- create_table(:trust_levels)
  2907. -> 0.0034s
  2908. -- add_column(:users, :trust_level_id, :integer, {:default=>1, :null=>false})
  2909. -> 0.0116s
  2910. == 20121109164630 CreateTrustLevels: migrated (0.0194s) =======================
  2911.  
  2912. == 20121113200844 BioMarkdownSupport: migrating ===============================
  2913. -- rename_column(:users, :bio, :bio_raw)
  2914. -> 0.0029s
  2915. -- add_column(:users, :bio_cooked, :text, {:null=>true})
  2916. -> 0.0004s
  2917. == 20121113200844 BioMarkdownSupport: migrated (0.0114s) ======================
  2918.  
  2919. == 20121113200845 CreateFacebookUserInfos: migrating ==========================
  2920. -- create_table(:facebook_user_infos)
  2921. -> 0.0041s
  2922. -- add_index(:facebook_user_infos, :user_id, {:unique=>true})
  2923. -> 0.0022s
  2924. -- add_index(:facebook_user_infos, :facebook_user_id, {:unique=>true})
  2925. -> 0.0019s
  2926. == 20121113200845 CreateFacebookUserInfos: migrated (0.0119s) =================
  2927.  
  2928. == 20121115172544 RenameStickyToPinned: migrating =============================
  2929. -- rename_column(:topics, :sticky, :pinned)
  2930. -> 0.0022s
  2931. == 20121115172544 RenameStickyToPinned: migrated (0.0053s) ====================
  2932.  
  2933. == 20121116212424 AddMoreEmailSettingsToUser: migrating =======================
  2934. -- add_column(:users, :email_private_messages, :boolean, {:default=>true})
  2935. -> 0.0074s
  2936. -- add_column(:users, :email_mentions, :boolean, {:default=>true})
  2937. -> 0.0072s
  2938. == 20121116212424 AddMoreEmailSettingsToUser: migrated (0.0202s) ==============
  2939.  
  2940. == 20121119190529 AddEmailSettingsToUsers: migrating ==========================
  2941. -- add_column(:users, :email_replied, :boolean, {:default=>true})
  2942. -> 0.0072s
  2943. -- add_column(:users, :email_quoted, :boolean, {:default=>true})
  2944. -> 0.0067s
  2945. == 20121119190529 AddEmailSettingsToUsers: migrated (0.0202s) =================
  2946.  
  2947. == 20121119200843 AddEmailDirectToUsers: migrating ============================
  2948. -- add_column(:users, :email_direct, :boolean, {:default=>true, :null=>false})
  2949. -> 0.0071s
  2950. -- remove_column(:users, :email_mentions)
  2951. -> 0.0004s
  2952. -- remove_column(:users, :email_replied)
  2953. -> 0.0003s
  2954. -- remove_column(:users, :email_quoted)
  2955. -> 0.0003s
  2956. == 20121119200843 AddEmailDirectToUsers: migrated (0.0128s) ===================
  2957.  
  2958. == 20121121202035 CreateInvites: migrating ====================================
  2959. -- create_table(:invites)
  2960. -> 0.0037s
  2961. -- add_index(:invites, :invite_key, {:unique=>true})
  2962. -> 0.0021s
  2963. -- add_index(:invites, [:email, :invited_by_id], {:unique=>true})
  2964. -> 0.0020s
  2965. == 20121121202035 CreateInvites: migrated (0.0135s) ===========================
  2966.  
  2967. == 20121121205215 CreateTopicInvites: migrating ===============================
  2968. -- create_table(:topic_invites)
  2969. -> 0.0027s
  2970. -- add_index(:topic_invites, [:topic_id, :invite_id], {:unique=>true})
  2971. -> 0.0022s
  2972. -- add_index(:topic_invites, :invite_id)
  2973. -> 0.0019s
  2974. == 20121121205215 CreateTopicInvites: migrated (0.0130s) ======================
  2975.  
  2976. == 20121122033316 AddMutedAtToTopicUser: migrating ============================
  2977. -- add_column(:topic_users, :muted_at, :datetime)
  2978. -> 0.0005s
  2979. -- change_column(:topic_users, :last_read_post_number, :integer, {:null=>true})
  2980. -> 0.0006s
  2981. -- change_column_default(:topic_users, :last_read_post_number, nil)
  2982. -> 0.0010s
  2983. == 20121122033316 AddMutedAtToTopicUser: migrated (0.0061s) ===================
  2984.  
  2985. == 20121123054127 MakePostNumberDistinct: migrating ===========================
  2986. == 20121123054127 MakePostNumberDistinct: migrated (0.0065s) ==================
  2987.  
  2988. == 20121123063630 CreateUserVisits: migrating =================================
  2989. -- create_table(:user_visits)
  2990. -> 0.0025s
  2991. -- add_index(:user_visits, [:user_id, :visited_at], {:unique=>true})
  2992. -> 0.0024s
  2993. == 20121123063630 CreateUserVisits: migrated (0.0097s) ========================
  2994.  
  2995. == 20121129160035 CreateEmailTokens: migrating ================================
  2996. -- create_table(:email_tokens)
  2997. -> 0.0041s
  2998. -- add_index(:email_tokens, :token, {:unique=>true})
  2999. -> 0.0022s
  3000. == 20121129160035 CreateEmailTokens: migrated (0.0122s) =======================
  3001.  
  3002. == 20121129184948 RemoveEmailTokenFromUsers: migrating ========================
  3003. -- execute("INSERT INTO email_tokens (user_id, email, token, created_at, updated_at)\n SELECT id, email, email_token, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP\n FROM users WHERE email_token IS NOT NULL")
  3004. -> 0.0008s
  3005. -- remove_column(:users, :email_token)
  3006. -> 0.0003s
  3007. == 20121129184948 RemoveEmailTokenFromUsers: migrated (0.0066s) ===============
  3008.  
  3009. == 20121130010400 CreateDrafts: migrating =====================================
  3010. -- create_table(:drafts)
  3011. -> 0.0041s
  3012. -- add_index(:drafts, [:user_id, :draft_key])
  3013. -> 0.0023s
  3014. == 20121130010400 CreateDrafts: migrated (0.0118s) ============================
  3015.  
  3016. == 20121130191818 AddLinkPostIdToTopicLinks: migrating ========================
  3017. -- add_column(:topic_links, :link_post_id, :integer)
  3018. -> 0.0005s
  3019. == 20121130191818 AddLinkPostIdToTopicLinks: migrated (0.0041s) ===============
  3020.  
  3021. == 20121202225421 AddVisitedAtToTopicUser: migrating ==========================
  3022. -- add_column(:topic_users, :last_visited_at, :datetime)
  3023. -> 0.0005s
  3024. -- add_column(:topic_users, :first_visited_at, :datetime)
  3025. -> 0.0003s
  3026. == 20121202225421 AddVisitedAtToTopicUser: migrated (0.0042s) =================
  3027.  
  3028. == 20121203181719 RenameSeenNotificaitonId: migrating =========================
  3029. -- rename_column(:users, :seen_notificaiton_id, :seen_notification_id)
  3030. -> 0.0030s
  3031. == 20121203181719 RenameSeenNotificaitonId: migrated (0.0063s) ================
  3032.  
  3033. == 20121204183855 FixLinkPostId: migrating ====================================
  3034. == 20121204183855 FixLinkPostId: migrated (0.0148s) ===========================
  3035.  
  3036. == 20121204193747 AddAnotherFeaturedUserToTopics: migrating ===================
  3037. -- add_column(:topics, :featured_user4_id, :integer, {:null=>true})
  3038. -> 0.0006s
  3039. == 20121204193747 AddAnotherFeaturedUserToTopics: migrated (0.0038s) ==========
  3040.  
  3041. == 20121205162143 AddApprovedToUsers: migrating ===============================
  3042. -- add_column(:users, :approved, :boolean, {:null=>false, :default=>false})
  3043. -> 0.0070s
  3044. -- add_column(:users, :approved_by_id, :integer, {:null=>true})
  3045. -> 0.0004s
  3046. -- add_column(:users, :approved_at, :timestamp, {:null=>true})
  3047. -> 0.0003s
  3048. == 20121205162143 AddApprovedToUsers: migrated (0.0135s) ======================
  3049.  
  3050. == 20121207000741 AddNotificationsToTopicUsers: migrating =====================
  3051. -- add_column(:topic_users, :notifications, :integer, {:default=>2})
  3052. -> 0.0025s
  3053. -- add_column(:topic_users, :notifications_changed_at, :datetime)
  3054. -> 0.0003s
  3055. -- add_column(:topic_users, :notifications_reason_id, :integer)
  3056. -> 0.0003s
  3057. == 20121207000741 AddNotificationsToTopicUsers: migrated (0.0068s) ============
  3058.  
  3059. == 20121211233131 CreateSiteCustomizations: migrating =========================
  3060. -- create_table(:site_customizations)
  3061. -> 0.0037s
  3062. -- add_index(:site_customizations, [:key])
  3063. -> 0.0021s
  3064. == 20121211233131 CreateSiteCustomizations: migrated (0.0119s) ================
  3065.  
  3066. == 20121216230719 AddOverrideDefaultStyleToSiteCustomization: migrating =======
  3067. -- add_column(:site_customizations, :override_default_style, :boolean, {:default=>false, :null=>false})
  3068. -> 0.0040s
  3069. -- add_column(:site_customizations, :stylesheet_baked, :text, {:default=>"", :null=>false})
  3070. -> 0.0034s
  3071. == 20121216230719 AddOverrideDefaultStyleToSiteCustomization: migrated (0.0123s)
  3072.  
  3073. == 20121218205642 AddTopicsEnteredToUsers: migrating ==========================
  3074. -- add_column(:users, :topics_entered, :integer, {:default=>0, :null=>false})
  3075. -> 0.0067s
  3076. -- add_column(:users, :posts_read_count, :integer, {:default=>0, :null=>false})
  3077. -> 0.0062s
  3078. == 20121218205642 AddTopicsEnteredToUsers: migrated (0.0194s) =================
  3079.  
  3080. == 20121224072204 AddLastEditorIdToPosts: migrating ===========================
  3081. -- add_column(:posts, :last_editor_id, :integer)
  3082. -> 0.0006s
  3083. == 20121224072204 AddLastEditorIdToPosts: migrated (0.0051s) ==================
  3084.  
  3085. == 20121224095139 CreateDraftSequence: migrating ==============================
  3086. -- create_table(:draft_sequences)
  3087. -> 0.0042s
  3088. -- add_index(:draft_sequences, [:user_id, :draft_key], {:unique=>true})
  3089. -> 0.0023s
  3090. == 20121224095139 CreateDraftSequence: migrated (0.0109s) =====================
  3091.  
  3092. == 20121224100650 AddSequenceToDrafts: migrating ==============================
  3093. -- add_column(:drafts, :sequence, :integer, {:null=>false, :default=>0})
  3094. -> 0.0039s
  3095. == 20121224100650 AddSequenceToDrafts: migrated (0.0089s) =====================
  3096.  
  3097. == 20121228192219 AddDeletedAtToInvites: migrating ============================
  3098. -- add_column(:invites, :deleted_at, :datetime)
  3099. -> 0.0005s
  3100. == 20121228192219 AddDeletedAtToInvites: migrated (0.0041s) ===================
  3101.  
  3102. == 20130107165207 AddDigestAfterDaysToUsers: migrating ========================
  3103. -- add_column(:users, :digest_after_days, :integer, {:default=>7, :null=>false})
  3104. -> 0.0071s
  3105. == 20130107165207 AddDigestAfterDaysToUsers: migrated (0.0118s) ===============
  3106.  
  3107. == 20130108195847 AddPreviousVisitAtToUsers: migrating ========================
  3108. -- add_column(:users, :previous_visit_at, :timestamp)
  3109. -> 0.0006s
  3110. == 20130108195847 AddPreviousVisitAtToUsers: migrated (0.0047s) ===============
  3111.  
  3112. == 20130115012140 MergeMuteOptionsOnTopicUsers: migrating =====================
  3113. -- execute("update topic_users set notifications = 0 where notifications = 3")
  3114. -> 0.0004s
  3115. -- execute("update topic_users set notifications = 1 where notifications = 2")
  3116. -> 0.0002s
  3117. -- execute("update topic_users set notifications = 2 where notifications = 1")
  3118. -> 0.0002s
  3119. -- execute("update topic_users set notifications = 0 where muted_at is not null")
  3120. -> 0.0002s
  3121. -- rename_column(:topic_users, :notifications, :notification_level)
  3122. -> 0.0015s
  3123. -- remove_column(:topic_users, :muted_at)
  3124. -> 0.0003s
  3125. == 20130115012140 MergeMuteOptionsOnTopicUsers: migrated (0.0076s) ============
  3126.  
  3127. == 20130115021937 CorrectDefaultOnNotificationLevel: migrating ================
  3128. -- change_column(:topic_users, :notification_level, :integer, {:default=>1, :null=>false})
  3129. -> 0.0029s
  3130. == 20130115021937 CorrectDefaultOnNotificationLevel: migrated (0.0066s) =======
  3131.  
  3132. == 20130115043603 OopsUnwatchABoatOfWatchedStuff: migrating ===================
  3133. -- execute("update topic_users set notification_level = 1 where notifications_reason_id is null and notification_level = 2")
  3134. -> 0.0003s
  3135. == 20130115043603 OopsUnwatchABoatOfWatchedStuff: migrated (0.0036s) ==========
  3136.  
  3137. == 20130116151829 RemoveSubTagFromTopics: migrating ===========================
  3138. -- remove_column(:topics, :sub_tag)
  3139. -> 0.0006s
  3140. == 20130116151829 RemoveSubTagFromTopics: migrated (0.0044s) ==================
  3141.  
  3142. == 20130120222728 FixSearch: migrating ========================================
  3143. -- execute("drop index idx_search_thread")
  3144. -> 0.0004s
  3145. -- execute("drop index idx_search_user")
  3146. -> 0.0003s
  3147. -- execute("create table posts_search (id integer not null primary key, search_data tsvector)")
  3148. -> 0.0024s
  3149. -- execute("create table users_search (id integer not null primary key, search_data tsvector)")
  3150. -> 0.0021s
  3151. -- execute("create table categories_search (id integer not null primary key, search_data tsvector)")
  3152. -> 0.0020s
  3153. -- execute("create index idx_search_post on posts_search using gin(search_data) ")
  3154. -> 0.0004s
  3155. -- execute("create index idx_search_user on users_search using gin(search_data) ")
  3156. -> 0.0004s
  3157. -- execute("create index idx_search_category on categories_search using gin(search_data) ")
  3158. -> 0.0004s
  3159. == 20130120222728 FixSearch: migrated (0.0144s) ===============================
  3160.  
  3161. == 20130121231352 AddTrackingToTopicUsers: migrating ==========================
  3162. -- execute("update topic_users set notification_level = 3 where notification_level = 2")
  3163. -> 0.0002s
  3164. == 20130121231352 AddTrackingToTopicUsers: migrated (0.0040s) =================
  3165.  
  3166. == 20130122051134 AddAutoTrackTopicsToUser: migrating =========================
  3167. -- add_column(:users, :auto_track_topics, :boolean, {:null=>false, :default=>false})
  3168. -> 0.0133s
  3169. == 20130122051134 AddAutoTrackTopicsToUser: migrated (0.0181s) ================
  3170.  
  3171. == 20130122232825 AddAutoTrackAfterSecondsAndBanningAndDobToUser: migrating ===
  3172. -- add_column(:users, :banned_at, :datetime)
  3173. -> 0.0005s
  3174. -- add_column(:users, :banned_till, :datetime)
  3175. -> 0.0003s
  3176. -- add_column(:users, :date_of_birth, :date)
  3177. -> 0.0003s
  3178. -- add_column(:users, :auto_track_topics_after_msecs, :integer)
  3179. -> 0.0003s
  3180. -- add_column(:users, :views, :integer, {:null=>false, :default=>0})
  3181. -> 0.0065s
  3182. -- remove_column(:users, :auto_track_topics)
  3183. -> 0.0004s
  3184. -- add_column(:topic_users, :total_msecs_viewed, :integer, {:null=>false, :default=>0})
  3185. -> 0.0022s
  3186. -- execute("update topic_users set total_msecs_viewed =\n (\n select coalesce(sum(msecs) ,0)\n from post_timings t\n where topic_users.topic_id = t.topic_id and topic_users.user_id = t.user_id\n )")
  3187. -> 0.0004s
  3188. == 20130122232825 AddAutoTrackAfterSecondsAndBanningAndDobToUser: migrated (0.0160s)
  3189.  
  3190. == 20130123070909 AutoTrackAllTopicsRepliedTo: migrating ======================
  3191. -- execute("update topic_users set notification_level = 2, notifications_reason_id = 4\n from posts p\n where\n notification_level = 1 and\n notifications_reason_id is null and\n p.topic_id = topic_users.topic_id and\n p.user_id = topic_users.user_id\n ")
  3192. -> 0.0006s
  3193. == 20130123070909 AutoTrackAllTopicsRepliedTo: migrated (0.0040s) =============
  3194.  
  3195. == 20130125002652 AddHiddenToPosts: migrating =================================
  3196. -- add_column(:posts, :hidden, :boolean, {:null=>false, :default=>false})
  3197. -> 0.0047s
  3198. -- add_column(:posts, :hidden_reason_id, :integer)
  3199. -> 0.0003s
  3200. == 20130125002652 AddHiddenToPosts: migrated (0.0085s) ========================
  3201.  
  3202. == 20130125030305 AddFieldsToPostAction: migrating ============================
  3203. -- add_column(:post_actions, :deleted_by, :integer)
  3204. -> 0.0004s
  3205. -- add_column(:post_actions, :message, :text)
  3206. -> 0.0012s
  3207. == 20130125030305 AddFieldsToPostAction: migrated (0.0049s) ===================
  3208.  
  3209. == 20130125031122 CorrectIndexOnPostAction: migrating =========================
  3210. -- remove_index("post_actions", {:name=>"idx_unique_actions"})
  3211. -> 0.0011s
  3212. -- add_index("post_actions", ["user_id", "post_action_type_id", "post_id", "deleted_at"], {:name=>"idx_unique_actions", :unique=>true})
  3213. -> 0.0023s
  3214. == 20130125031122 CorrectIndexOnPostAction: migrated (0.0067s) ================
  3215.  
  3216. == 20130127213646 RemoveTrustLevels: migrating ================================
  3217. -- drop_table(:trust_levels)
  3218. -> 0.0008s
  3219. -- change_column_default(:users, :trust_level_id, 0)
  3220. -> 0.0019s
  3221. -- rename_column(:users, :trust_level_id, :trust_level)
  3222. -> 0.0024s
  3223. -- update("UPDATE users set trust_level = 1")
  3224. -> 0.0005s
  3225. -> 0 rows
  3226. -- remove_column(:users, :moderator)
  3227. -> 0.0004s
  3228. -- add_column(:users, :flag_level, :integer, {:null=>false, :default=>0})
  3229. -> 0.0074s
  3230. == 20130127213646 RemoveTrustLevels: migrated (0.0187s) =======================
  3231.  
  3232. == 20130128182013 TrustLevelDefaultNull: migrating ============================
  3233. -- change_column_default(:users, :trust_level, nil)
  3234. -> 0.0019s
  3235. == 20130128182013 TrustLevelDefaultNull: migrated (0.0057s) ===================
  3236.  
  3237. == 20130129010625 RemovePmReflections: migrating ==============================
  3238. -- execute("delete from topic_links where link_topic_id in (select id from topics where archetype = 'private_message') ")
  3239. -> 0.0006s
  3240. == 20130129010625 RemovePmReflections: migrated (0.0038s) =====================
  3241.  
  3242. == 20130129163244 AddTimeReadToUsers: migrating ===============================
  3243. -- add_column(:users, :time_read, :integer, {:default=>0, :null=>false})
  3244. -> 0.0072s
  3245. -- execute("UPDATE users SET time_read = posts_read_count * 20")
  3246. -> 0.0004s
  3247. == 20130129163244 AddTimeReadToUsers: migrated (0.0108s) ======================
  3248.  
  3249. == 20130129174845 AddDaysVisitedToUsers: migrating ============================
  3250. -- add_column(:users, :days_visited, :integer, {:null=>false, :default=>0})
  3251. -> 0.0071s
  3252. -- execute("UPDATE users AS u SET days_visited = (SELECT COUNT(*) FROM user_visits AS uv WHERE uv.user_id = u.id)")
  3253. -> 0.0008s
  3254. == 20130129174845 AddDaysVisitedToUsers: migrated (0.0134s) ===================
  3255.  
  3256. == 20130130154611 RemoveIndexFromViews: migrating =============================
  3257. -- remove_index("views", {:name=>"unique_views"})
  3258. -> 0.0014s
  3259. -- change_column(:views, :viewed_at, :date)
  3260. -> 0.0021s
  3261. == 20130130154611 RemoveIndexFromViews: migrated (0.0095s) ====================
  3262.  
  3263. == 20130131055710 AddCustomFlagCountToTopics: migrating =======================
  3264. -- add_column(:topics, :custom_flag_count, :integer, {:null=>false, :default=>0})
  3265. -> 0.0052s
  3266. -- add_column(:posts, :custom_flag_count, :integer, {:null=>false, :default=>0})
  3267. -> 0.0046s
  3268. == 20130131055710 AddCustomFlagCountToTopics: migrated (0.0152s) ==============
  3269.  
  3270. == 20130201000828 AddColumnSummariesToPostsAndTopics: migrating ===============
  3271. -- add_column(:posts, :spam_count, :integer, {:default=>0, :null=>false})
  3272. -> 0.0054s
  3273. -- add_column(:topics, :spam_count, :integer, {:default=>0, :null=>false})
  3274. -> 0.0043s
  3275. -- add_column(:posts, :illegal_count, :integer, {:default=>0, :null=>false})
  3276. -> 0.0044s
  3277. -- add_column(:topics, :illegal_count, :integer, {:default=>0, :null=>false})
  3278. -> 0.0043s
  3279. -- add_column(:posts, :inappropriate_count, :integer, {:default=>0, :null=>false})
  3280. -> 0.0046s
  3281. -- add_column(:topics, :inappropriate_count, :integer, {:default=>0, :null=>false})
  3282. -> 0.0047s
  3283. -- remove_column(:posts, :offensive_count)
  3284. -> 0.0004s
  3285. -- remove_column(:topics, :offensive_count)
  3286. -> 0.0004s
  3287. == 20130201000828 AddColumnSummariesToPostsAndTopics: migrated (0.0344s) ======
  3288.  
  3289. == 20130201023409 AddPositionToPostActionType: migrating ======================
  3290. -- add_column(:post_action_types, :position, :integer, {:default=>0, :null=>false})
  3291. -> 0.0028s
  3292. == 20130201023409 AddPositionToPostActionType: migrated (0.0083s) =============
  3293.  
  3294. == 20130203204338 AddLastVersionAtToPosts: migrating ==========================
  3295. -- add_column(:posts, :last_version_at, :timestamp)
  3296. -> 0.0007s
  3297. -- execute("UPDATE posts SET last_version_at = COALESCE((SELECT max(created_at)\n FROM versions WHERE versions.versioned_id = posts.id\n AND versions.versioned_type = 'Post'), posts.created_at)")
  3298. -> 0.0007s
  3299. -- change_column(:posts, :last_version_at, :timestamp, {:null=>false})
  3300. -> 0.0005s
  3301. == 20130203204338 AddLastVersionAtToPosts: migrated (0.0073s) =================
  3302.  
  3303. == 20130204000159 AddIpAddressToUsers: migrating ==============================
  3304. -- execute("alter table users add column ip_address inet")
  3305. -> 0.0004s
  3306. == 20130204000159 AddIpAddressToUsers: migrated (0.0050s) =====================
  3307.  
  3308. == 20130205021905 AlterFacebookUserId: migrating ==============================
  3309. -- change_column(:facebook_user_infos, :facebook_user_id, :integer, {:limit=>8, :null=>false})
  3310. -> 0.0046s
  3311. == 20130205021905 AlterFacebookUserId: migrated (0.0100s) =====================
  3312.  
  3313. == 20130207200019 AddUserDeletedToPosts: migrating ============================
  3314. -- add_column(:posts, :user_deleted, :boolean, {:null=>false, :default=>false})
  3315. -> 0.0056s
  3316. == 20130207200019 AddUserDeletedToPosts: migrated (0.0113s) ===================
  3317.  
  3318. == 20130208220635 RemoveReplyBelowPostNumberFromPosts: migrating ==============
  3319. -- remove_column(:posts, :reply_below_post_number)
  3320. -> 0.0005s
  3321. == 20130208220635 RemoveReplyBelowPostNumberFromPosts: migrated (0.0056s) =====
  3322.  
  3323. == 20130213021450 RemoveTopicResponseActions: migrating =======================
  3324. -- execute("delete from user_actions where action_type = 8")
  3325. -> 0.0004s
  3326. == 20130213021450 RemoveTopicResponseActions: migrated (0.0042s) ==============
  3327.  
  3328. == 20130213203300 AddNewTopicDurationMinutesToUsers: migrating ================
  3329. -- add_column(:users, :new_topic_duration_minutes, :integer)
  3330. -> 0.0006s
  3331. == 20130213203300 AddNewTopicDurationMinutesToUsers: migrated (0.0049s) =======
  3332.  
  3333. == 20130221215017 AddDescriptionToCategories: migrating =======================
  3334. -- add_column(:categories, :description, :text, {:null=>true})
  3335. -> 0.0005s
  3336. -- remove_column(:categories, :top1_topic_id)
  3337. -> 0.0003s
  3338. -- remove_column(:categories, :top2_topic_id)
  3339. -> 0.0002s
  3340. -- remove_column(:categories, :top1_user_id)
  3341. -> 0.0003s
  3342. -- remove_column(:categories, :top2_user_id)
  3343. -> 0.0002s
  3344. == 20130221215017 AddDescriptionToCategories: migrated (0.0124s) ==============
  3345.  
  3346. == 20130226015336 AddGithubUserInfo: migrating ================================
  3347. -- create_table(:github_user_infos)
  3348. -> 0.0043s
  3349. -- add_index(:github_user_infos, [:github_user_id], {:unique=>true})
  3350. -> 0.0022s
  3351. -- add_index(:github_user_infos, [:user_id], {:unique=>true})
  3352. -> 0.0019s
  3353. == 20130226015336 AddGithubUserInfo: migrated (0.0135s) =======================
  3354.  
  3355. == 20130306180148 AddClearedPinnedToTopicUsers: migrating =====================
  3356. -- add_column(:topic_users, :cleared_pinned_at, :datetime, {:null=>true})
  3357. -> 0.0005s
  3358. -- add_column(:topics, :pinned_at, :datetime, {:null=>true})
  3359. -> 0.0004s
  3360. -- execute("UPDATE topics SET pinned_at = created_at WHERE pinned")
  3361. -> 0.0004s
  3362. -- remove_column(:topics, :pinned)
  3363. -> 0.0004s
  3364. == 20130306180148 AddClearedPinnedToTopicUsers: migrated (0.0053s) ============
  3365.  
  3366. == 20130311181327 RemoveExtraSpamRecord: migrating ============================
  3367. -- execute("UPDATE post_actions SET post_action_type_id = 7 where post_action_type_id = 8")
  3368. -> 0.0004s
  3369. -- execute("DELETE FROM post_action_types WHERE id = 8")
  3370. -> 0.0003s
  3371. == 20130311181327 RemoveExtraSpamRecord: migrated (0.0040s) ===================
  3372.  
  3373. == 20130313004922 AddExternalLinksInNewTabAnDisableQuotingToUser: migrating ===
  3374. -- add_column(:users, :external_links_in_new_tab, :boolean, {:default=>false, :null=>false})
  3375. -> 0.0068s
  3376. -- add_column(:users, :enable_quoting, :boolean, {:default=>true, :null=>false})
  3377. -> 0.0062s
  3378. == 20130313004922 AddExternalLinksInNewTabAnDisableQuotingToUser: migrated (0.0167s)
  3379.  
  3380. == 20130314093434 AddForegroundColorToCategories: migrating ===================
  3381. -- add_column(:categories, :text_color, :string, {:limit=>6, :null=>false, :default=>"FFFFFF"})
  3382. -> 0.0049s
  3383. == 20130314093434 AddForegroundColorToCategories: migrated (0.0085s) ==========
  3384.  
  3385. == 20130315180637 EnableTrigramSupport: migrating =============================
  3386. -- execute("CREATE EXTENSION IF NOT EXISTS pg_trgm")
  3387. -> 0.0001s
  3388. == 20130315180637 EnableTrigramSupport: migrated (0.0033s) ====================
  3389.  
  3390. == 20130319122248 AddReplyToUserIdToPost: migrating ===========================
  3391. -- add_column(:posts, :reply_to_user_id, :integer)
  3392. -> 0.0005s
  3393. -- execute("UPDATE posts p SET reply_to_user_id = (\n SELECT u.id from users u \n JOIN posts p2 ON p2.user_id = u.id AND \n p2.post_number = p.reply_to_post_number AND\n p2.topic_id = p.topic_id\n )")
  3394. -> 0.0008s
  3395. == 20130319122248 AddReplyToUserIdToPost: migrated (0.0044s) ==================
  3396.  
  3397. == 20130320012100 AddUserIndexesToPostsAndTopics: migrating ===================
  3398. -- execute("CREATE INDEX idx_posts_user_id_deleted_at \n ON posts(user_id) WHERE deleted_at IS NULL")
  3399. -> 0.0010s
  3400. -- execute("CREATE INDEX idx_topics_user_id_deleted_at \n ON topics(user_id) WHERE deleted_at IS NULL")
  3401. -> 0.0009s
  3402. == 20130320012100 AddUserIndexesToPostsAndTopics: migrated (0.0050s) ==========
  3403.  
  3404. == 20130320024345 AddModeratorToUser: migrating ===============================
  3405. -- add_column(:users, :moderator, :boolean, {:default=>false})
  3406. -> 0.0073s
  3407. -- execute("UPDATE users SET trust_level = 1, moderator = 't' where trust_level = 5")
  3408. -> 0.0005s
  3409. == 20130320024345 AddModeratorToUser: migrated (0.0129s) ======================
  3410.  
  3411. == 20130321154905 RemoveOneboxesFromDb: migrating =============================
  3412. -- drop_table(:post_onebox_renders)
  3413. -> 0.0005s
  3414. -- drop_table(:onebox_renders)
  3415. -> 0.0008s
  3416. == 20130321154905 RemoveOneboxesFromDb: migrated (0.0075s) ====================
  3417.  
  3418. == 20130322183614 AddPercentRankToPosts: migrating ============================
  3419. -- add_column(:posts, :percent_rank, :float, {:default=>1.0})
  3420. -> 0.0064s
  3421. -- execute("UPDATE posts SET percent_rank = x.percent_rank\n FROM (SELECT id, percent_rank()\n OVER (PARTITION BY topic_id ORDER BY SCORE DESC)\n FROM posts) AS x\n WHERE x.id = posts.id")
  3422. -> 0.0008s
  3423. == 20130322183614 AddPercentRankToPosts: migrated (0.0126s) ===================
  3424.  
  3425. == 20130326210101 AddHotnessToCategory: migrating =============================
  3426. -- add_column(:categories, :hotness, :float, {:default=>5.0, :null=>false})
  3427. -> 0.0058s
  3428. == 20130326210101 AddHotnessToCategory: migrated (0.0110s) ====================
  3429.  
  3430. == 20130327185852 UpdateSiteSettingsForHot: migrating =========================
  3431. -- execute("UPDATE site_settings SET value = REPLACE(value, 'popular|', 'latest|hot|') where name = 'top_menu'")
  3432. -> 0.0004s
  3433. == 20130327185852 UpdateSiteSettingsForHot: migrated (0.0049s) ================
  3434.  
  3435. == 20130328162943 CreateHotTopics: migrating ==================================
  3436. -- create_table(:hot_topics, {:force=>true})
  3437. -> 0.0032s
  3438. -- add_index(:hot_topics, :topic_id, {:unique=>true})
  3439. -> 0.0022s
  3440. -- add_index(:hot_topics, :score, {:order=>"desc"})
  3441. -> 0.0020s
  3442. == 20130328162943 CreateHotTopics: migrated (0.0133s) =========================
  3443.  
  3444. == 20130328182433 AddScoreToTopics: migrating =================================
  3445. -- add_column(:topics, :score, :float)
  3446. -> 0.0007s
  3447. -- add_column(:topics, :percent_rank, :float, {:null=>false, :default=>1.0})
  3448. -> 0.0055s
  3449. == 20130328182433 AddScoreToTopics: migrated (0.0116s) ========================
  3450.  
  3451. == 20130402210723 AddValuesToHotTopics: migrating =============================
  3452. -- add_column(:hot_topics, :random_bias, :float)
  3453. -> 0.0006s
  3454. -- add_column(:hot_topics, :random_multiplier, :float)
  3455. -> 0.0003s
  3456. -- add_column(:hot_topics, :days_ago_bias, :float)
  3457. -> 0.0003s
  3458. -- add_column(:hot_topics, :days_ago_multiplier, :float)
  3459. -> 0.0003s
  3460. -- add_column(:hot_topics, :hot_topic_type, :integer)
  3461. -> 0.0003s
  3462. == 20130402210723 AddValuesToHotTopics: migrated (0.0075s) ====================
  3463.  
  3464. == 20130404143437 CreateSiteContents: migrating ===============================
  3465. -- create_table(:site_contents, {:force=>true, :id=>false})
  3466. -> 0.0031s
  3467. -- add_index(:site_contents, :content_type, {:unique=>true})
  3468. -> 0.0022s
  3469. == 20130404143437 CreateSiteContents: migrated (0.0109s) ======================
  3470.  
  3471. == 20130404232558 AddUserExtras: migrating ====================================
  3472. -- add_column(:users, :likes_given, :integer, {:null=>false, :default=>0})
  3473. -> 0.0076s
  3474. -- add_column(:users, :likes_received, :integer, {:null=>false, :default=>0})
  3475. -> 0.0069s
  3476. -- add_column(:users, :topic_reply_count, :integer, {:null=>false, :default=>0})
  3477. -> 0.0072s
  3478. -- execute("UPDATE users u\nSET\n likes_given = X.likes_given\nFROM (\n SELECT\n a.user_id,\n COUNT(*) likes_given\n FROM user_actions a\n JOIN posts p ON p.id = a.target_post_id\n WHERE p.deleted_at IS NULL AND a.action_type = 1\n GROUP BY a.user_id\n) as X\nWHERE X.user_id = u.id\n")
  3479. -> 0.0012s
  3480. -- execute("UPDATE users u\nSET\n likes_received = Y.likes_received\nFROM (\n SELECT\n a.user_id,\n COUNT(*) likes_received\n FROM user_actions a\n JOIN posts p ON p.id = a.target_post_id\n WHERE p.deleted_at IS NULL AND a.action_type = 2\n GROUP BY a.user_id\n) as Y\nWHERE Y.user_id = u.id\n")
  3481. -> 0.0005s
  3482. -- execute("UPDATE users u\nSET\n topic_reply_count = Z.topic_reply_count\nFROM (\n SELECT\n p.user_id,\n COUNT(DISTINCT topic_id) topic_reply_count\n FROM posts p\n JOIN topics t on t.id = p.topic_id\n WHERE t.user_id <> p.user_id AND\n p.deleted_at IS NULL AND t.deleted_at IS NULL\n GROUP BY p.user_id\n) Z\nWHERE\n Z.user_id = u.id\n")
  3483. -> 0.0009s
  3484. == 20130404232558 AddUserExtras: migrated (0.0304s) ===========================
  3485.  
  3486. == 20130411205132 CreateAdminLogs: migrating ==================================
  3487. -- create_table(:admin_logs, {:force=>true})
  3488. -> 0.0046s
  3489. == 20130411205132 CreateAdminLogs: migrated (0.0090s) =========================
  3490.  
  3491. == 20130412015502 CorrectCountsOnPosts: migrating =============================
  3492. -- rename_column(:posts, :custom_flag_count, :notify_moderators_count)
  3493. -> 0.0022s
  3494. -- add_column(:posts, :notify_user_count, :integer, {:default=>0, :null=>false})
  3495. -> 0.0055s
  3496. == 20130412015502 CorrectCountsOnPosts: migrated (0.0128s) ====================
  3497.  
  3498. == 20130412020156 CorrectCountsOnTopics: migrating ============================
  3499. -- rename_column(:topics, :custom_flag_count, :notify_moderators_count)
  3500. -> 0.0020s
  3501. -- add_column(:topics, :notify_user_count, :integer, {:default=>0, :null=>false})
  3502. -> 0.0062s
  3503. == 20130412020156 CorrectCountsOnTopics: migrated (0.0140s) ===================
  3504.  
  3505. == 20130416004607 CreateGroups: migrating =====================================
  3506. -- create_table(:groups, {:force=>true})
  3507. -> 0.0042s
  3508. == 20130416004607 CreateGroups: migrated (0.0092s) ============================
  3509.  
  3510. == 20130416004933 GroupUsers: migrating =======================================
  3511. -- create_table(:group_users, {:force=>true})
  3512. -> 0.0033s
  3513. -- add_index(:group_users, [:group_id, :user_id], {:unique=>true})
  3514. -> 0.0022s
  3515. == 20130416004933 GroupUsers: migrated (0.0115s) ==============================
  3516.  
  3517. == 20130416170855 AddSubtypeToTopics: migrating ===============================
  3518. -- add_column(:topics, :subtype, :string)
  3519. -> 0.0007s
  3520. -- execute("update topics set subtype = 'user_to_user' where archetype = 'private_message'")
  3521. -> 0.0005s
  3522. == 20130416170855 AddSubtypeToTopics: migrated (0.0061s) ======================
  3523.  
  3524. == 20130419195746 IncreaseDataLengthOnNotifications: migrating ================
  3525. -- execute("ALTER TABLE notifications ALTER COLUMN data TYPE VARCHAR(1000)")
  3526. -> 0.0041s
  3527. == 20130419195746 IncreaseDataLengthOnNotifications: migrated (0.0084s) =======
  3528.  
  3529. == 20130422050626 AddRelatedPostIdToPostActions: migrating ====================
  3530. -- add_column(:post_actions, :related_post_id, :integer)
  3531. -> 0.0005s
  3532. == 20130422050626 AddRelatedPostIdToPostActions: migrated (0.0048s) ===========
  3533.  
  3534. == 20130424015746 AddSlugToTopics: migrating ==================================
  3535. -- add_column(:topics, :slug, :string)
  3536. -> 0.0007s
  3537. == 20130424015746 AddSlugToTopics: migrated (0.0050s) =========================
  3538.  
  3539. == 20130424055025 AddUserIdToIncomingLinks: migrating =========================
  3540. -- add_column(:incoming_links, :user_id, :integer)
  3541. -> 0.0005s
  3542. == 20130424055025 AddUserIdToIncomingLinks: migrated (0.0042s) ================
  3543.  
  3544. == 20130426044914 AllowNullsInIncomingLinks: migrating ========================
  3545. -- change_column(:incoming_links, :referer, :string, {:limit=>1000, :null=>true})
  3546. -> 0.0007s
  3547. -- change_column(:incoming_links, :domain, :string, {:limit=>100, :null=>true})
  3548. -> 0.0004s
  3549. == 20130426044914 AllowNullsInIncomingLinks: migrated (0.0063s) ===============
  3550.  
  3551. == 20130426052257 AddIncomingIpCurrentUserIdToIncomingLinks: migrating ========
  3552. -- add_column(:incoming_links, :ip_address, :inet)
  3553. -> 0.0005s
  3554. -- add_column(:incoming_links, :current_user_id, :int)
  3555. -> 0.0003s
  3556. == 20130426052257 AddIncomingIpCurrentUserIdToIncomingLinks: migrated (0.0063s)
  3557.  
  3558. == 20130428194335 AddUnstarredAtToTopicUsers: migrating =======================
  3559. -- add_column(:topic_users, :unstarred_at, :datetime)
  3560. -> 0.0006s
  3561. == 20130428194335 AddUnstarredAtToTopicUsers: migrated (0.0058s) ==============
  3562.  
  3563. == 20130429000101 AddSecurityToCategories: migrating ==========================
  3564. -- add_column(:categories, :secure, :boolean, {:default=>false, :null=>false})
  3565. -> 0.0059s
  3566. -- create_table(:category_groups, {:force=>true})
  3567. -> 0.0034s
  3568. == 20130429000101 AddSecurityToCategories: migrated (0.0159s) =================
  3569.  
  3570. == 20130430052751 AddTopicAllowedGroups: migrating ============================
  3571. -- create_table(:topic_allowed_groups, {:force=>true})
  3572. -> 0.0029s
  3573. -- add_index(:topic_allowed_groups, [:group_id, :topic_id], {:unique=>true})
  3574. -> 0.0022s
  3575. -- add_index(:topic_allowed_groups, [:topic_id, :group_id], {:unique=>true})
  3576. -> 0.0019s
  3577. == 20130430052751 AddTopicAllowedGroups: migrated (0.0113s) ===================
  3578.  
  3579. == 20130501105651 FixTopicAllowedGroups: migrating ============================
  3580. -- remove_column(:topic_allowed_groups, :integer)
  3581. -> 0.0003s
  3582. == 20130501105651 FixTopicAllowedGroups: migrated (0.0036s) ===================
  3583.  
  3584. == 20130506020935 AddAutomaticToGroups: migrating =============================
  3585. -- add_column(:groups, :automatic, :boolean, {:default=>false, :null=>false})
  3586. -> 0.0036s
  3587. -- execute(" ALTER SEQUENCE groups_id_seq START WITH 100\n")
  3588. -> 0.0002s
  3589. == 20130506020935 AddAutomaticToGroups: migrated (0.0070s) ====================
  3590.  
  3591. == 20130506185042 AddAutoCloseAtToTopics: migrating ===========================
  3592. -- add_column(:topics, :auto_close_at, :datetime)
  3593. -> 0.0006s
  3594. -- add_column(:topics, :auto_close_user_id, :integer)
  3595. -> 0.0003s
  3596. == 20130506185042 AddAutoCloseAtToTopics: migrated (0.0041s) ==================
  3597.  
  3598. == 20130508040235 AddUserCountToGroups: migrating =============================
  3599. -- add_column(:groups, :user_count, :integer, {:null=>false, :default=>0})
  3600. -> 0.0035s
  3601. == 20130508040235 AddUserCountToGroups: migrated (0.0076s) ====================
  3602.  
  3603. == 20130509040248 UpdateSequenceForGroups: migrating ==========================
  3604. -- execute(" SELECT setval('groups_id_seq', 40)\n")
  3605. -> 0.0002s
  3606. == 20130509040248 UpdateSequenceForGroups: migrated (0.0035s) =================
  3607.  
  3608. == 20130509041351 AddUniqueNameToGroups: migrating ============================
  3609. -- add_index(:groups, [:name], {:unique=>true})
  3610. -> 0.0024s
  3611. == 20130509041351 AddUniqueNameToGroups: migrated (0.0058s) ===================
  3612.  
  3613. == 20130515193551 AddAutoCloseDaysToCategories: migrating =====================
  3614. -- add_column(:categories, :auto_close_days, :float)
  3615. -> 0.0005s
  3616. == 20130515193551 AddAutoCloseDaysToCategories: migrated (0.0038s) ============
  3617.  
  3618. == 20130521210140 CreateCasUserInfos: migrating ===============================
  3619. -- create_table(:cas_user_infos)
  3620. -> 0.0039s
  3621. -- add_index(:cas_user_infos, :user_id, {:unique=>true})
  3622. -> 0.0022s
  3623. -- add_index(:cas_user_infos, :cas_user_id, {:unique=>true})
  3624. -> 0.0020s
  3625. == 20130521210140 CreateCasUserInfos: migrated (0.0131s) ======================
  3626.  
  3627. == 20130522193615 RenameSearchTables: migrating ===============================
  3628. -- rename_table(:users_search, :user_search_data)
  3629. -> 0.0036s
  3630. -- rename_column(:user_search_data, :id, :user_id)
  3631. -> 0.0011s
  3632. -- rename_table(:categories_search, :category_search_data)
  3633. -> 0.0031s
  3634. -- rename_column(:category_search_data, :id, :category_id)
  3635. -> 0.0011s
  3636. -- rename_table(:posts_search, :post_search_data)
  3637. -> 0.0033s
  3638. -- rename_column(:post_search_data, :id, :post_id)
  3639. -> 0.0011s
  3640. == 20130522193615 RenameSearchTables: migrated (0.0197s) ======================
  3641.  
  3642. == 20130527152648 AddLikeScoreToPosts: migrating ==============================
  3643. -- add_column(:posts, :like_score, :integer, {:default=>0, :null=>false})
  3644. -> 0.0061s
  3645. -- execute("UPDATE posts p\n set like_score = x.like_score\n FROM (SELECT pa.post_id,\n SUM(CASE\n WHEN u.admin OR u.moderator THEN 3\n ELSE 1\n END) AS like_score\n FROM post_actions AS pa\n INNER JOIN users AS u ON u.id = pa.user_id\n GROUP BY pa.post_id) AS x\n WHERE x.post_id = p.id")
  3646. -> 0.0011s
  3647. == 20130527152648 AddLikeScoreToPosts: migrated (0.0137s) =====================
  3648.  
  3649. == 20130528174147 AddRankToCategoryFeaturedTopics: migrating ==================
  3650. -- add_column(:category_featured_topics, :rank, :integer, {:default=>0, :null=>false})
  3651. -> 0.0027s
  3652. -- add_index(:category_featured_topics, [:category_id, :rank])
  3653. -> 0.0024s
  3654. == 20130528174147 AddRankToCategoryFeaturedTopics: migrated (0.0122s) =========
  3655.  
  3656. == 20130531210816 AddStaffTookActionToPostActions: migrating ==================
  3657. -- add_column(:post_actions, :staff_took_action, :boolean, {:default=>false, :null=>false})
  3658. -> 0.0048s
  3659. == 20130531210816 AddStaffTookActionToPostActions: migrated (0.0122s) =========
  3660.  
  3661. == 20130603192412 AddBlockedToUsers: migrating ================================
  3662. -- add_column(:users, :blocked, :boolean, {:default=>false})
  3663. -> 0.0083s
  3664. == 20130603192412 AddBlockedToUsers: migrated (0.0147s) =======================
  3665.  
  3666. == 20130606190601 AddAutoCloseStartedAtToTopics: migrating ====================
  3667. -- add_column(:topics, :auto_close_started_at, :datetime)
  3668. -> 0.0007s
  3669. == 20130606190601 AddAutoCloseStartedAtToTopics: migrated (0.0063s) ===========
  3670.  
  3671. == 20130610201033 AddReplyKeyToEmailLogs: migrating ===========================
  3672. -- add_column(:email_logs, :reply_key, :string, {:limit=>32})
  3673. -> 0.0005s
  3674. -- add_index(:email_logs, :reply_key)
  3675. -> 0.0024s
  3676. == 20130610201033 AddReplyKeyToEmailLogs: migrated (0.0082s) ==================
  3677.  
  3678. == 20130612200846 CreatePostUploadJoinTable: migrating ========================
  3679. -- create_table(:posts_uploads, {:force=>true, :id=>false})
  3680. -> 0.0014s
  3681. -- add_index(:posts_uploads, :post_id)
  3682. -> 0.0022s
  3683. -- add_index(:posts_uploads, :upload_id)
  3684. -> 0.0024s
  3685. -- add_index(:posts_uploads, [:post_id, :upload_id], {:unique=>true})
  3686. -> 0.0025s
  3687. == 20130612200846 CreatePostUploadJoinTable: migrated (0.0141s) ===============
  3688.  
  3689. == 20130613211700 DropPostsUploads: migrating =================================
  3690. -- drop_table(:posts_uploads)
  3691. -> 0.0006s
  3692. == 20130613211700 DropPostsUploads: migrated (0.0055s) ========================
  3693.  
  3694. == 20130613212230 CreatePostUploads: migrating ================================
  3695. -- create_table(:post_uploads)
  3696. -> 0.0024s
  3697. -- execute("create unique index idx_unique_post_uploads on post_uploads(post_id, upload_id)")
  3698. -> 0.0009s
  3699. == 20130613212230 CreatePostUploads: migrated (0.0086s) =======================
  3700.  
  3701. == 20130615064344 AddDynamicFaviconPreferenceToUser: migrating ================
  3702. -- add_column(:users, :dynamic_favicon, :boolean, {:default=>false, :null=>false})
  3703. -> 0.0135s
  3704. == 20130615064344 AddDynamicFaviconPreferenceToUser: migrated (0.0192s) =======
  3705.  
  3706. == 20130615073305 RemoveTopicIdFromUploads: migrating =========================
  3707. -- remove_column(:uploads, :topic_id)
  3708. -> 0.0007s
  3709. == 20130615073305 RemoveTopicIdFromUploads: migrated (0.0066s) ================
  3710.  
  3711. == 20130615075557 AddShaToUploads: migrating ==================================
  3712. -- add_column(:uploads, :sha, :string, {:null=>true})
  3713. -> 0.0005s
  3714. -- add_index(:uploads, :sha, {:unique=>true})
  3715. -> 0.0024s
  3716. == 20130615075557 AddShaToUploads: migrated (0.0077s) =========================
  3717.  
  3718. == 20130616082327 CreateOptimizedImages: migrating ============================
  3719. -- create_table(:optimized_images)
  3720. -> 0.0035s
  3721. -- add_index(:optimized_images, :upload_id)
  3722. -> 0.0022s
  3723. -- add_index(:optimized_images, [:upload_id, :width, :height], {:unique=>true})
  3724. -> 0.0022s
  3725. == 20130616082327 CreateOptimizedImages: migrated (0.0137s) ===================
  3726.  
  3727. == 20130617014127 RenameShaAndExtColumns: migrating ===========================
  3728. -- rename_column(:optimized_images, :sha, :sha1)
  3729. -> 0.0018s
  3730. -- change_column(:optimized_images, :sha1, :string, {:limit=>40})
  3731. -> 0.0039s
  3732. -- rename_column(:optimized_images, :ext, :extension)
  3733. -> 0.0016s
  3734. -- change_column(:optimized_images, :extension, :string, {:limit=>10})
  3735. -> 0.0028s
  3736. == 20130617014127 RenameShaAndExtColumns: migrated (0.0159s) ==================
  3737.  
  3738. == 20130617180009 RenameShaColumn: migrating ==================================
  3739. -- remove_index(:uploads, :sha)
  3740. -> 0.0012s
  3741. -- rename_column(:uploads, :sha, :sha1)
  3742. -> 0.0013s
  3743. -- change_column(:uploads, :sha1, :string, {:limit=>40})
  3744. -> 0.0037s
  3745. -- add_index(:uploads, :sha1, {:unique=>true})
  3746. -> 0.0020s
  3747. == 20130617180009 RenameShaColumn: migrated (0.0141s) =========================
  3748.  
  3749. == 20130617181804 AddPostIdToEmailLogs: migrating =============================
  3750. -- add_column(:email_logs, :post_id, :integer, {:null=>true})
  3751. -> 0.0005s
  3752. -- add_column(:email_logs, :topic_id, :integer, {:null=>true})
  3753. -> 0.0003s
  3754. == 20130617181804 AddPostIdToEmailLogs: migrated (0.0062s) ====================
  3755.  
  3756. == 20130619063902 AddDeferToPostActions: migrating ============================
  3757. -- add_column(:post_actions, :defer, :boolean)
  3758. -> 0.0005s
  3759. -- add_column(:post_actions, :defer_by, :int)
  3760. -> 0.0003s
  3761. == 20130619063902 AddDeferToPostActions: migrated (0.0055s) ===================
  3762.  
  3763. == 20130621042855 ChangeSupressToSuppress: migrating ==========================
  3764. == 20130621042855 ChangeSupressToSuppress: migrated (0.0153s) =================
  3765.  
  3766. == 20130622110348 AddUrlIndexToUploads: migrating =============================
  3767. -- add_index(:uploads, :url)
  3768. -> 0.0025s
  3769. == 20130622110348 AddUrlIndexToUploads: migrated (0.0079s) ====================
  3770.  
  3771. == 20130624203206 ChangeIpToInetInTopicLinkClicks: migrating ==================
  3772. -- add_column(:topic_link_clicks, :ip_address, :inet)
  3773. -> 0.0016s
  3774. -- execute("UPDATE topic_link_clicks SET ip_address = inet(\n (ip >> 24 & 255) || '.' ||\n (ip >> 16 & 255) || '.' ||\n (ip >> 8 & 255) || '.' ||\n (ip >> 0 & 255)\n );")
  3775. -> 0.0007s
  3776. -- change_column(:topic_link_clicks, :ip_address, :inet, {:null=>false})
  3777. -> 0.0005s
  3778. -- remove_column(:topic_link_clicks, :ip)
  3779. -> 0.0003s
  3780. == 20130624203206 ChangeIpToInetInTopicLinkClicks: migrated (0.0085s) =========
  3781.  
  3782. == 20130625022454 ChangeIpToInetInViews: migrating ============================
  3783. -- add_column(:views, :ip_address, :inet)
  3784. -> 0.0015s
  3785. -- execute("UPDATE views SET ip_address = inet(\n (ip >> 24 & 255) || '.' ||\n (ip >> 16 & 255) || '.' ||\n (ip >> 8 & 255) || '.' ||\n (ip >> 0 & 255)\n );")
  3786. -> 0.0005s
  3787. -- change_column(:views, :ip_address, :inet, {:null=>false})
  3788. -> 0.0005s
  3789. -- remove_column(:views, :ip)
  3790. -> 0.0002s
  3791. == 20130625022454 ChangeIpToInetInViews: migrated (0.0086s) ===================
  3792.  
  3793. == 20130625170842 RemoveAccessPassword: migrating =============================
  3794. -- execute("SELECT count(*) FROM site_settings where name='access_password' and char_length(value) > 0")
  3795. -> 0.0003s
  3796. == 20130625170842 RemoveAccessPassword: migrated (0.0050s) ====================
  3797.  
  3798. == 20130625201113 AddTitleToUsers: migrating ==================================
  3799. -- add_column(:users, :title, :string)
  3800. -> 0.0007s
  3801. == 20130625201113 AddTitleToUsers: migrated (0.0056s) =========================
  3802.  
  3803. == 20130709184941 AddDeletedByIdToPosts: migrating ============================
  3804. -- add_column(:posts, :deleted_by_id, :integer, {:null=>true})
  3805. -> 0.0006s
  3806. -- add_column(:topics, :deleted_by_id, :integer, {:null=>true})
  3807. -> 0.0004s
  3808. -- add_column(:invites, :deleted_by_id, :integer, {:null=>true})
  3809. -> 0.0003s
  3810. -- rename_column(:post_actions, :deleted_by, :deleted_by_id)
  3811. -> 0.0018s
  3812. == 20130709184941 AddDeletedByIdToPosts: migrated (0.0077s) ===================
  3813.  
  3814. == 20130710201248 AddNukedUserToPosts: migrating ==============================
  3815. -- add_column(:posts, :nuked_user, :boolean, {:default=>false})
  3816. -> 0.0058s
  3817. == 20130710201248 AddNukedUserToPosts: migrated (0.0101s) =====================
  3818.  
  3819. == 20130712041133 AddPermissionTypeToCategoryGroups: migrating ================
  3820. -- add_column(:category_groups, :permission_type, :integer, {:default=>1})
  3821. -> 0.0025s
  3822. -- rename_column(:categories, :secure, :read_restricted)
  3823. -> 0.0019s
  3824. == 20130712041133 AddPermissionTypeToCategoryGroups: migrated (0.0093s) =======
  3825.  
  3826. == 20130712163509 AddMissingIdColumns: migrating ==============================
  3827. -- add_column(:category_featured_topics, :id, :primary_key)
  3828. -> 0.0040s
  3829. -- add_column(:topic_users, :id, :primary_key)
  3830. -> 0.0033s
  3831. == 20130712163509 AddMissingIdColumns: migrated (0.0118s) =====================
  3832.  
  3833. == 20130723212758 RenameAdminLog: migrating ===================================
  3834. -- rename_table(:admin_logs, :staff_action_logs)
  3835. -> 0.0028s
  3836. -- rename_column(:staff_action_logs, :admin_id, :staff_user_id)
  3837. -> 0.0009s
  3838. == 20130723212758 RenameAdminLog: migrated (0.0088s) ==========================
  3839.  
  3840. == 20130724201552 CreateBlockedEmails: migrating ==============================
  3841. -- create_table(:blocked_emails)
  3842. -> 0.0045s
  3843. -- add_index(:blocked_emails, :email, {:unique=>true})
  3844. -> 0.0022s
  3845. == 20130724201552 CreateBlockedEmails: migrated (0.0119s) =====================
  3846.  
  3847. == 20130725213613 AddMoreToStaffActionLog: migrating ==========================
  3848. -- add_column(:staff_action_logs, :context, :string)
  3849. -> 0.0005s
  3850. -- add_column(:staff_action_logs, :ip_address, :string)
  3851. -> 0.0003s
  3852. -- add_column(:staff_action_logs, :email, :string)
  3853. -> 0.0003s
  3854. == 20130725213613 AddMoreToStaffActionLog: migrated (0.0065s) =================
  3855.  
  3856. == 20130728172550 AddUrlToOptimizedImages: migrating ==========================
  3857. -- add_column(:optimized_images, :url, :string)
  3858. -> 0.0016s
  3859. -- execute("UPDATE optimized_images\n SET url = substring(u.url from '^/uploads/[^/]+/')\n || '_optimized/'\n || substring(oi.sha1 for 3) || '/'\n || substring(oi.sha1 from 4 for 3) || '/'\n || substring(oi.sha1 from 7 for 11) || oi.extension\n FROM optimized_images oi\n JOIN uploads u ON u.id = oi.upload_id\n WHERE optimized_images.id = oi.id;")
  3860. -> 0.0010s
  3861. -- change_column(:optimized_images, :url, :string, {:null=>false})
  3862. -> 0.0005s
  3863. == 20130728172550 AddUrlToOptimizedImages: migrated (0.0079s) =================
  3864.  
  3865. == 20130731163035 AddReportIndexToIncomingLinks: migrating ====================
  3866. -- add_index(:incoming_links, [:created_at, :user_id])
  3867. -> 0.0024s
  3868. -- add_index(:incoming_links, [:created_at, :domain])
  3869. -> 0.0019s
  3870. == 20130731163035 AddReportIndexToIncomingLinks: migrated (0.0079s) ===========
  3871.  
  3872. == 20130807202516 AddLastMatchIndexToBlockedEmails: migrating =================
  3873. -- add_index(:blocked_emails, :last_match_at)
  3874. -> 0.0022s
  3875. == 20130807202516 AddLastMatchIndexToBlockedEmails: migrated (0.0059s) ========
  3876.  
  3877. == 20130809160751 FixSeenNotificationIds: migrating ===========================
  3878. -- execute("UPDATE users SET\n seen_notification_id = COALESCE((SELECT MAX(notifications.id)\n FROM notifications\n WHERE user_id = users.id AND created_at <= users.last_seen_at), 0)")
  3879. -> 0.0010s
  3880. == 20130809160751 FixSeenNotificationIds: migrated (0.0044s) ==================
  3881.  
  3882. == 20130809204732 AddFilterIndexesToStaffActionLogs: migrating ================
  3883. -- add_index(:staff_action_logs, [:action, :id])
  3884. -> 0.0024s
  3885. -- add_index(:staff_action_logs, [:staff_user_id, :id])
  3886. -> 0.0021s
  3887. -- add_index(:staff_action_logs, [:target_user_id, :id])
  3888. -> 0.0020s
  3889. == 20130809204732 AddFilterIndexesToStaffActionLogs: migrated (0.0106s) =======
  3890.  
  3891. == 20130809211409 AddAvatarToUsers: migrating =================================
  3892. -- add_column(:users, :use_uploaded_avatar, :boolean, {:default=>false})
  3893. -> 0.0080s
  3894. -- add_column(:users, :uploaded_avatar_template, :string)
  3895. -> 0.0004s
  3896. -- add_column(:users, :uploaded_avatar_id, :integer)
  3897. -> 0.0003s
  3898. == 20130809211409 AddAvatarToUsers: migrated (0.0136s) ========================
  3899.  
  3900. == 20130813204212 CreateScreenedUrls: migrating ===============================
  3901. -- create_table(:screened_urls)
  3902. -> 0.0046s
  3903. -- add_index(:screened_urls, :url, {:unique=>true})
  3904. -> 0.0024s
  3905. -- add_index(:screened_urls, :last_match_at)
  3906. -> 0.0020s
  3907. == 20130813204212 CreateScreenedUrls: migrated (0.0149s) ======================
  3908.  
  3909. == 20130813224817 RenameBlockedEmailsToScreenedEmails: migrating ==============
  3910. -- rename_table(:blocked_emails, :screened_emails)
  3911. -> 0.0039s
  3912. == 20130813224817 RenameBlockedEmailsToScreenedEmails: migrated (0.0090s) =====
  3913.  
  3914. == 20130816024250 CreateOauth2UserInfos: migrating ============================
  3915. -- create_table(:oauth2_user_infos)
  3916. -> 0.0040s
  3917. -- add_index(:oauth2_user_infos, [:uid, :provider], {:unique=>true})
  3918. -> 0.0022s
  3919. == 20130816024250 CreateOauth2UserInfos: migrated (0.0114s) ===================
  3920.  
  3921. == 20130819192358 AddValueColumnsToStaffActionLogs: migrating =================
  3922. -- add_column(:staff_action_logs, :subject, :text)
  3923. -> 0.0005s
  3924. -- add_column(:staff_action_logs, :previous_value, :text)
  3925. -> 0.0003s
  3926. -- add_column(:staff_action_logs, :new_value, :text)
  3927. -> 0.0003s
  3928. == 20130819192358 AddValueColumnsToStaffActionLogs: migrated (0.0062s) ========
  3929.  
  3930. == 20130820174431 AddSubjectIndexToStaffActionLogs: migrating =================
  3931. -- add_index(:staff_action_logs, [:subject, :id])
  3932. -> 0.0024s
  3933. == 20130820174431 AddSubjectIndexToStaffActionLogs: migrated (0.0066s) ========
  3934.  
  3935. == 20130822213513 AddIpAddressToScreeningTables: migrating ====================
  3936. -- add_column(:screened_emails, :ip_address, :inet)
  3937. -> 0.0005s
  3938. -- add_column(:screened_urls, :ip_address, :inet)
  3939. -> 0.0003s
  3940. == 20130822213513 AddIpAddressToScreeningTables: migrated (0.0050s) ===========
  3941.  
  3942. == 20130823201420 DropDefaultsOnEmailDigestColumnsOfUsers: migrating ==========
  3943. -- change_column_default(:users, :email_digests, nil)
  3944. -> 0.0024s
  3945. -- change_column(:users, :digest_after_days, :integer, {:default=>nil, :null=>true})
  3946. -> 0.0027s
  3947. == 20130823201420 DropDefaultsOnEmailDigestColumnsOfUsers: migrated (0.0092s) =
  3948.  
  3949. == 20130826011521 CreatePluginStoreRows: migrating ============================
  3950. -- create_table(:plugin_store_rows)
  3951. -> 0.0033s
  3952. -- add_index(:plugin_store_rows, [:plugin_name, :key], {:unique=>true})
  3953. -> 0.0022s
  3954. == 20130826011521 CreatePluginStoreRows: migrated (0.0094s) ===================
  3955.  
  3956. == 20130828192526 FixOptimizedImagesUrls: migrating ===========================
  3957. -- execute("UPDATE optimized_images\n SET url = substring(oi.url from '^\\/uploads\\/[^/]+\\/_optimized\\/[0-9a-f]{3}\\/[0-9a-f]{3}\\/[0-9a-f]{11}')\n || '_'\n || oi.width\n || 'x'\n || oi.height\n || substring(oi.url from '\\.\\w{3,4}$')\n FROM optimized_images oi\n WHERE optimized_images.id = oi.id\n AND oi.url ~ '^\\/uploads\\/[^/]+\\/_optimized\\/[0-9a-f]{3}\\/[0-9a-f]{3}\\/[0-9a-f]{11}\\.';")
  3958. -> 0.0014s
  3959. == 20130828192526 FixOptimizedImagesUrls: migrated (0.0050s) ==================
  3960.  
  3961. == 20130903154323 AllowNullUserIdOnPosts: migrating ===========================
  3962. -- change_column(:posts, :user_id, :integer, {:null=>true})
  3963. -> 0.0018s
  3964. -- execute("UPDATE posts SET user_id = NULL WHERE nuked_user = true")
  3965. -> 0.0004s
  3966. -- remove_column(:posts, :nuked_user)
  3967. -> 0.0004s
  3968. == 20130903154323 AllowNullUserIdOnPosts: migrated (0.0062s) ==================
  3969.  
  3970. == 20130904181208 AllowNullUserIdOnTopics: migrating ==========================
  3971. -- change_column(:topics, :user_id, :integer, {:null=>true})
  3972. -> 0.0017s
  3973. == 20130904181208 AllowNullUserIdOnTopics: migrated (0.0055s) =================
  3974.  
  3975. == 20130906081326 RenameSystemUsername: migrating =============================
  3976. -- execute("update site_settings set name = 'site_contact_username' where name = 'system_username'")
  3977. -> 0.0002s
  3978. == 20130906081326 RenameSystemUsername: migrated (0.0040s) ====================
  3979.  
  3980. == 20130906171631 AddIndexToUploads: migrating ================================
  3981. -- add_index(:uploads, [:id, :url])
  3982. -> 0.0025s
  3983. == 20130906171631 AddIndexToUploads: migrated (0.0069s) =======================
  3984.  
  3985. == 20130910040235 IndexTopicsForFrontPage: migrating ==========================
  3986. -- add_index(:topics, [:deleted_at, :visible, :archetype, :id])
  3987. -> 0.0026s
  3988. -- add_index(:topics, [:id, :deleted_at])
  3989. -> 0.0021s
  3990. == 20130910040235 IndexTopicsForFrontPage: migrated (0.0100s) =================
  3991.  
  3992. == 20130910220317 RenameStaffActionLogsToUserHistory: migrating ===============
  3993. -- remove_index(:staff_action_logs, [:staff_user_id, :id])
  3994. -> 0.0012s
  3995. -- rename_table(:staff_action_logs, :user_histories)
  3996. -> 0.0044s
  3997. -- rename_column(:user_histories, :staff_user_id, :acting_user_id)
  3998. -> 0.0018s
  3999. -- add_index(:user_histories, [:acting_user_id, :action, :id])
  4000. -> 0.0022s
  4001. == 20130910220317 RenameStaffActionLogsToUserHistory: migrated (0.0159s) ======
  4002.  
  4003. == 20130911182437 CreateUserStats: migrating ==================================
  4004. -- create_table(:user_stats, {:id=>false})
  4005. -> 0.0012s
  4006. -- execute("ALTER TABLE user_stats ADD PRIMARY KEY (user_id)")
  4007. -> 0.0010s
  4008. -- execute("INSERT INTO user_stats (user_id) SELECT id FROM users")
  4009. -> 0.0006s
  4010. == 20130911182437 CreateUserStats: migrated (0.0077s) =========================
  4011.  
  4012. == 20130912185218 ActingUserNull: migrating ===================================
  4013. -- change_column(:user_histories, :acting_user_id, :integer, {:null=>true})
  4014. -> 0.0011s
  4015. == 20130912185218 ActingUserNull: migrated (0.0070s) ==========================
  4016.  
  4017. == 20130913210454 AddMobileToSiteCustomizations: migrating ====================
  4018. -- add_column(:site_customizations, :mobile_stylesheet, :text)
  4019. -> 0.0005s
  4020. -- add_column(:site_customizations, :mobile_header, :text)
  4021. -> 0.0003s
  4022. -- add_column(:site_customizations, :mobile_stylesheet_baked, :text)
  4023. -> 0.0003s
  4024. == 20130913210454 AddMobileToSiteCustomizations: migrated (0.0056s) ===========
  4025.  
  4026. == 20130917174738 AddTopicIdToUserHistories: migrating ========================
  4027. -- add_column(:user_histories, :topic_id, :integer)
  4028. -> 0.0004s
  4029. == 20130917174738 AddTopicIdToUserHistories: migrated (0.0040s) ===============
  4030.  
  4031. == 20131001060630 AddEmailAlwaysToUsers: migrating ============================
  4032. -- add_column(:users, :email_always, :bool, {:default=>false, :null=>false})
  4033. -> 0.0078s
  4034. == 20131001060630 AddEmailAlwaysToUsers: migrated (0.0137s) ===================
  4035.  
  4036. == 20131002070347 AddUserIdParentTypeIndexOnViews: migrating ==================
  4037. -- add_index(:views, [:user_id, :parent_type, :parent_id])
  4038. -> 0.0026s
  4039. == 20131002070347 AddUserIdParentTypeIndexOnViews: migrated (0.0088s) =========
  4040.  
  4041. == 20131003061137 MoveColumnsToUserStats: migrating ===========================
  4042. -- add_column(:user_stats, :topics_entered, :integer, {:default=>0, :null=>false})
  4043. -> 0.0026s
  4044. -- add_column(:user_stats, :time_read, :integer, {:default=>0, :null=>false})
  4045. -> 0.0022s
  4046. -- add_column(:user_stats, :days_visited, :integer, {:default=>0, :null=>false})
  4047. -> 0.0020s
  4048. -- add_column(:user_stats, :posts_read_count, :integer, {:default=>0, :null=>false})
  4049. -> 0.0021s
  4050. -- add_column(:user_stats, :likes_given, :integer, {:default=>0, :null=>false})
  4051. -> 0.0020s
  4052. -- add_column(:user_stats, :likes_received, :integer, {:default=>0, :null=>false})
  4053. -> 0.0021s
  4054. -- add_column(:user_stats, :topic_reply_count, :integer, {:default=>0, :null=>false})
  4055. -> 0.0021s
  4056. -- execute("UPDATE user_stats s\n SET topics_entered = u.topics_entered,\n time_read = u.time_read,\n days_visited = u.days_visited,\n posts_read_count = u.posts_read_count,\n likes_given = u.likes_given,\n likes_received = u.likes_received,\n topic_reply_count = u.topic_reply_count\n FROM users u WHERE u.id = s.user_id\n ")
  4057. -> 0.0009s
  4058. -- remove_column(:users, :topics_entered)
  4059. -> 0.0005s
  4060. -- remove_column(:users, :time_read)
  4061. -> 0.0004s
  4062. -- remove_column(:users, :days_visited)
  4063. -> 0.0004s
  4064. -- remove_column(:users, :posts_read_count)
  4065. -> 0.0003s
  4066. -- remove_column(:users, :likes_given)
  4067. -> 0.0003s
  4068. -- remove_column(:users, :likes_received)
  4069. -> 0.0003s
  4070. -- remove_column(:users, :topic_reply_count)
  4071. -> 0.0003s
  4072. == 20131003061137 MoveColumnsToUserStats: migrated (0.0263s) ==================
  4073.  
  4074. == 20131014203951 BackfillPostUploadReverseIndex: migrating ===================
  4075. -- execute("TRUNCATE TABLE post_uploads")
  4076. -> 0.0016s
  4077. == 20131014203951 BackfillPostUploadReverseIndex: migrated (0.0139s) ==========
  4078.  
  4079. == 20131015131652 CreatePostDetails: migrating ================================
  4080. -- create_table(:post_details)
  4081. -> 0.0037s
  4082. -- add_index(:post_details, [:post_id, :key], {:unique=>true})
  4083. -> 0.0023s
  4084. == 20131015131652 CreatePostDetails: migrated (0.0119s) =======================
  4085.  
  4086. == 20131017014509 AddPostCountToCategories: migrating =========================
  4087. -- add_column(:categories, :post_count, :integer, {:null=>false, :default=>0})
  4088. -> 0.0049s
  4089. -- execute(" UPDATE categories\n SET post_count = (SELECT COALESCE(SUM(posts_count),0) FROM topics\n WHERE category_id = categories.id AND deleted_at IS NULL)\n")
  4090. -> 0.0007s
  4091. == 20131017014509 AddPostCountToCategories: migrated (0.0106s) ================
  4092.  
  4093. == 20131017030605 AddLatestToCategories: migrating ============================
  4094. -- add_column(:categories, :latest_post_id, :integer)
  4095. -> 0.0005s
  4096. -- add_column(:categories, :latest_topic_id, :integer)
  4097. -> 0.0003s
  4098. -- execute(" UPDATE categories c\n SET latest_post_id = x.post_id\n FROM (select category_id, max(p.id) post_id FROM posts p\n JOIN topics t on t.id = p.topic_id\n WHERE p.deleted_at IS NULL AND NOT p.hidden AND t.visible\n GROUP BY category_id\n ) x\n WHERE x.category_id = c.id\n")
  4099. -> 0.0007s
  4100. -- execute(" UPDATE categories c\n SET latest_topic_id = x.topic_id\n FROM (select category_id, max(t.id) topic_id\n FROM topics t\n WHERE t.deleted_at IS NULL AND t.visible\n GROUP BY category_id\n ) x\n WHERE x.category_id = c.id\n")
  4101. -> 0.0004s
  4102. == 20131017030605 AddLatestToCategories: migrated (0.0060s) ===================
  4103.  
  4104. == 20131017205954 CreateScreenedIpAddresses: migrating ========================
  4105. -- create_table(:screened_ip_addresses)
  4106. -> 0.0038s
  4107. -- add_index(:screened_ip_addresses, :ip_address, {:unique=>true})
  4108. -> 0.0023s
  4109. -- add_index(:screened_ip_addresses, :last_match_at)
  4110. -> 0.0020s
  4111. == 20131017205954 CreateScreenedIpAddresses: migrated (0.0133s) ===============
  4112.  
  4113. == 20131018050738 AddPositionToCategories: migrating ==========================
  4114. -- add_column(:categories, :position, :integer)
  4115. -> 0.0005s
  4116. -- execute("UPDATE categories SET position = id")
  4117. -> 0.0003s
  4118. -- change_column(:categories, :position, :integer, {:null=>false})
  4119. -> 0.0005s
  4120. == 20131018050738 AddPositionToCategories: migrated (0.0057s) =================
  4121.  
  4122. == 20131022045114 AddUncategorizedCategory: migrating =========================
  4123. -- execute("SELECT 1 FROM categories WHERE lower(name) = 'uncategorized'")
  4124. -> 0.0003s
  4125. -- execute("INSERT INTO categories\n (name,color,slug,description,text_color, user_id, created_at, updated_at, position)\n VALUES ('Uncategorized', 'AB9364', 'uncategorized', '', 'FFFFFF', -1, now(), now(), 0 )\n RETURNING id\n ")
  4126. -> 0.0005s
  4127. -- execute("INSERT INTO site_settings(name, data_type, value, created_at, updated_at)\n VALUES ('uncategorized_category_id', 3, 1, now(), now())")
  4128. -> 0.0003s
  4129. -- execute("DELETE from site_settings where name in ('uncategorized_name', 'uncategorized_text_color', 'uncategorized_color')")
  4130. -> 0.0003s
  4131. -- execute("UPDATE topics SET category_id = 1 WHERE archetype = 'regular' AND category_id IS NULL")
  4132. -> 0.0003s
  4133. -- execute("ALTER table topics ADD CONSTRAINT has_category_id CHECK (category_id IS NOT NULL OR archetype <> 'regular')")
  4134. -> 0.0005s
  4135. == 20131022045114 AddUncategorizedCategory: migrated (0.0060s) ================
  4136.  
  4137. == 20131022151218 CreateApiKeys: migrating ====================================
  4138. -- create_table(:api_keys)
  4139. -> 0.0028s
  4140. -- add_index(:api_keys, :key)
  4141. -> 0.0068s
  4142. -- add_index(:api_keys, :user_id, {:unique=>true})
  4143. -> 0.0019s
  4144. -- execute("INSERT INTO api_keys (key, created_at, updated_at) SELECT value, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP FROM site_settings WHERE name = 'api_key'")
  4145. -> 0.0003s
  4146. -- execute("DELETE FROM site_settings WHERE name = 'api_key'")
  4147. -> 0.0002s
  4148. == 20131022151218 CreateApiKeys: migrated (0.0159s) ===========================
  4149.  
  4150. == 20131023163509 AddParentCategoryIdToCategories: migrating ==================
  4151. -- add_column(:categories, :parent_category_id, :integer)
  4152. -> 0.0004s
  4153. == 20131023163509 AddParentCategoryIdToCategories: migrated (0.0037s) =========
  4154.  
  4155. == 20131105101051 AddOriginToUploads: migrating ===============================
  4156. -- add_column(:uploads, :origin, :string, {:limit=>1000})
  4157. -> 0.0005s
  4158. == 20131105101051 AddOriginToUploads: migrated (0.0045s) ======================
  4159.  
  4160. == 20131107154900 RenameBannedToSuspended: migrating ==========================
  4161. -- rename_column(:users, :banned_at, :suspended_at)
  4162. -> 0.0027s
  4163. -- rename_column(:users, :banned_till, :suspended_till)
  4164. -> 0.0023s
  4165. == 20131107154900 RenameBannedToSuspended: migrated (0.0085s) =================
  4166.  
  4167. == 20131114185225 AddParticipantCountToTopics: migrating ======================
  4168. -- add_column(:topics, :participant_count, :integer, {:default=>1})
  4169. -> 0.0078s
  4170. -- execute("UPDATE topics SET participant_count =\n (SELECT COUNT(DISTINCT p.user_id) FROM posts AS p WHERE p.topic_id = topics.id)")
  4171. -> 0.0007s
  4172. == 20131114185225 AddParticipantCountToTopics: migrated (0.0140s) =============
  4173.  
  4174. == 20131115165105 AddEditReasonToPosts: migrating =============================
  4175. -- add_column(:posts, :edit_reason, :string)
  4176. -> 0.0007s
  4177. == 20131115165105 AddEditReasonToPosts: migrated (0.0060s) ====================
  4178.  
  4179. == 20131118173159 RenameBestOfToSummary: migrating ============================
  4180. -- rename_column(:topics, :has_best_of, :has_summary)
  4181. -> 0.0029s
  4182. == 20131118173159 RenameBestOfToSummary: migrated (0.0082s) ===================
  4183.  
  4184. == 20131120055018 MoveEmojiToNewLocation: migrating ===========================
  4185. -- execute("update posts set cooked = regexp_replace(cooked, '(<img[^>]*)assets/emoji/', '\\1plugins/emoji/images/' , 'g') where cooked like '%emoji%'")
  4186. -> 0.0005s
  4187. == 20131120055018 MoveEmojiToNewLocation: migrated (0.0051s) ==================
  4188.  
  4189. == 20131122064921 IncreaseTwitterUserIdLength: migrating ======================
  4190. -- change_column(:twitter_user_infos, :twitter_user_id, :bigint)
  4191. -> 0.0046s
  4192. == 20131122064921 IncreaseTwitterUserIdLength: migrated (0.0096s) =============
  4193.  
  4194. == 20131206200009 RenameAutoCloseDaysToHours: migrating =======================
  4195. -- rename_column(:categories, :auto_close_days, :auto_close_hours)
  4196. -> 0.0019s
  4197. -- execute("update categories set auto_close_hours = auto_close_hours * 24")
  4198. -> 0.0003s
  4199. == 20131206200009 RenameAutoCloseDaysToHours: migrated (0.0075s) ==============
  4200.  
  4201. == 20131209091702 CreatePostRevisions: migrating ==============================
  4202. -- create_table(:post_revisions)
  4203. -> 0.0039s
  4204. -- execute("INSERT INTO post_revisions (user_id, post_id, modifications, number, created_at, updated_at)\n SELECT user_id, versioned_id, modifications, number, created_at, updated_at\n FROM versions\n WHERE versioned_type = 'Post'")
  4205. -> 0.0004s
  4206. -- change_table(:post_revisions)
  4207. -> 0.0047s
  4208. == 20131209091702 CreatePostRevisions: migrated (0.0153s) =====================
  4209.  
  4210. == 20131209091742 CreateTopicRevisions: migrating =============================
  4211. -- create_table(:topic_revisions)
  4212. -> 0.0042s
  4213. -- execute("INSERT INTO topic_revisions (user_id, topic_id, modifications, number, created_at, updated_at)\n SELECT user_id, versioned_id, modifications, number, created_at, updated_at\n FROM versions\n WHERE versioned_type = 'Topic'")
  4214. -> 0.0004s
  4215. -- change_table(:topic_revisions)
  4216. -> 0.0043s
  4217. == 20131209091742 CreateTopicRevisions: migrated (0.0145s) ====================
  4218.  
  4219. == 20131210163702 AddWordCountToPosts: migrating ==============================
  4220. -- add_column(:posts, :word_count, :integer)
  4221. -> 0.0006s
  4222. -- add_column(:topics, :word_count, :integer)
  4223. -> 0.0004s
  4224. == 20131210163702 AddWordCountToPosts: migrated (0.0055s) =====================
  4225.  
  4226. == 20131210181901 MigrateWordCounts: migrating ================================
  4227. -- execute("SELECT id FROM posts WHERE word_count IS NULL LIMIT 500")
  4228. -> 0.0005s
  4229. -- execute("SELECT id FROM topics WHERE word_count IS NULL LIMIT 500")
  4230. -> 0.0005s
  4231. == 20131210181901 MigrateWordCounts: migrated (0.0054s) =======================
  4232.  
  4233. == 20131210234530 RenameVersionColumn: migrating ==============================
  4234. -- add_column(:posts, :version, :integer, {:default=>1, :null=>false})
  4235. -> 0.0066s
  4236. -- execute("UPDATE posts SET version = cached_version")
  4237. -> 0.0004s
  4238. -- remove_column(:posts, :cached_version)
  4239. -> 0.0004s
  4240. == 20131210234530 RenameVersionColumn: migrated (0.0146s) =====================
  4241.  
  4242. == 20131212225511 AddPostCountStatsColumnsToCategories: migrating =============
  4243. -- change_table(:categories)
  4244. -> 0.0013s
  4245. == 20131212225511 AddPostCountStatsColumnsToCategories: migrated (0.0083s) ====
  4246.  
  4247. == 20131216164557 MakePositionNullableInCategories: migrating =================
  4248. -- change_column(:categories, :position, :integer, {:null=>true})
  4249. -> 0.0007s
  4250. == 20131216164557 MakePositionNullableInCategories: migrated (0.0070s) ========
  4251.  
  4252. == 20131217174004 CreateTopicEmbeds: migrating ================================
  4253. -- create_table(:topic_embeds, {:force=>true})
  4254. -> 0.0047s
  4255. -- add_index(:topic_embeds, :embed_url, {:unique=>true})
  4256. -> 0.0022s
  4257. == 20131217174004 CreateTopicEmbeds: migrated (0.0139s) =======================
  4258.  
  4259. == 20131219203905 AddCookMethodToPosts: migrating =============================
  4260. -- add_column(:posts, :cook_method, :integer, {:default=>1, :null=>false})
  4261. -> 0.0064s
  4262. == 20131219203905 AddCookMethodToPosts: migrated (0.0130s) ====================
  4263.  
  4264. == 20131223171005 CreateTopTopics: migrating ==================================
  4265. -- create_table(:top_topics, {:force=>true})
  4266. -> 0.0065s
  4267. -- add_index(:top_topics, :topic_id, {:unique=>true})
  4268. -> 0.0021s
  4269. -- add_index(:top_topics, :yearly_posts_count, {:order=>"desc"})
  4270. -> 0.0019s
  4271. -- add_index(:top_topics, :yearly_views_count, {:order=>"desc"})
  4272. -> 0.0020s
  4273. -- add_index(:top_topics, :yearly_likes_count, {:order=>"desc"})
  4274. -> 0.0018s
  4275. -- add_index(:top_topics, :monthly_posts_count, {:order=>"desc"})
  4276. -> 0.0019s
  4277. -- add_index(:top_topics, :monthly_views_count, {:order=>"desc"})
  4278. -> 0.0018s
  4279. -- add_index(:top_topics, :monthly_likes_count, {:order=>"desc"})
  4280. -> 0.0019s
  4281. -- add_index(:top_topics, :weekly_posts_count, {:order=>"desc"})
  4282. -> 0.0019s
  4283. -- add_index(:top_topics, :weekly_views_count, {:order=>"desc"})
  4284. -> 0.0018s
  4285. -- add_index(:top_topics, :weekly_likes_count, {:order=>"desc"})
  4286. -> 0.0019s
  4287. -- add_index(:top_topics, :daily_posts_count, {:order=>"desc"})
  4288. -> 0.0020s
  4289. -- add_index(:top_topics, :daily_views_count, {:order=>"desc"})
  4290. -> 0.0021s
  4291. -- add_index(:top_topics, :daily_likes_count, {:order=>"desc"})
  4292. -> 0.0020s
  4293. == 20131223171005 CreateTopTopics: migrated (0.0382s) =========================
  4294.  
  4295. == 20131227164338 AddScoresToTopTopics: migrating =============================
  4296. -- add_column(:top_topics, :daily_score, :float)
  4297. -> 0.0005s
  4298. -- add_column(:top_topics, :weekly_score, :float)
  4299. -> 0.0003s
  4300. -- add_column(:top_topics, :monthly_score, :float)
  4301. -> 0.0003s
  4302. -- add_column(:top_topics, :yearly_score, :float)
  4303. -> 0.0003s
  4304. == 20131227164338 AddScoresToTopTopics: migrated (0.0052s) ====================
  4305.  
  4306. == 20131229221725 AddWatchNewTopicsToUsers: migrating =========================
  4307. -- add_column(:users, :watch_new_topics, :boolean, {:default=>false, :null=>false})
  4308. -> 0.0073s
  4309. == 20131229221725 AddWatchNewTopicsToUsers: migrated (0.0134s) ================
  4310.  
  4311. == 20131230010239 AddLastEmailedPostNumberToTopicUser: migrating ==============
  4312. -- add_column(:topic_users, :last_emailed_post_number, :integer)
  4313. -> 0.0006s
  4314. == 20131230010239 AddLastEmailedPostNumberToTopicUser: migrated (0.0056s) =====
  4315.  
  4316. == 20140101235747 AddCategoryUsers: migrating =================================
  4317. -- create_table(:category_users)
  4318. -> 0.0023s
  4319. == 20140101235747 AddCategoryUsers: migrated (0.0067s) ========================
  4320.  
  4321. == 20140102104229 AddAliasLevelToGroups: migrating ============================
  4322. -- add_column(:groups, :alias_level, :integer, {:default=>0})
  4323. -> 0.0041s
  4324. == 20140102104229 AddAliasLevelToGroups: migrated (0.0090s) ===================
  4325.  
  4326. == 20140102194802 RemoveDefaultFromExternalLinksInNewTab: migrating ===========
  4327. -- change_column_default(:users, :external_links_in_new_tab, nil)
  4328. -> 0.0022s
  4329. == 20140102194802 RemoveDefaultFromExternalLinksInNewTab: migrated (0.0077s) ==
  4330.  
  4331. == 20140107220141 RemoveEnableWideCategoryList: migrating =====================
  4332. -- execute("DELETE FROM site_settings WHERE name = 'enable_wide_category_list'")
  4333. -> 0.0002s
  4334. == 20140107220141 RemoveEnableWideCategoryList: migrated (0.0038s) ============
  4335.  
  4336. == 20140109205940 RenameFavoritesToStarred: migrating =========================
  4337. -- execute("UPDATE site_settings SET name = 'max_stars_per_day' where name = 'max_favorites_per_day'")
  4338. -> 0.0002s
  4339. -- execute("UPDATE site_settings SET value = REPLACE(value, '|favorited', '|starred') where name = 'top_menu'")
  4340. -> 0.0002s
  4341. == 20140109205940 RenameFavoritesToStarred: migrated (0.0040s) ================
  4342.  
  4343. == 20140116170655 DropHotTopics: migrating ====================================
  4344. -- drop_table(:hot_topics)
  4345. -> 0.0009s
  4346. == 20140116170655 DropHotTopics: migrated (0.0043s) ===========================
  4347.  
  4348. == 20140120155706 AddLoungeCategory: migrating ================================
  4349. -- execute("INSERT INTO site_settings(name, data_type, value, created_at, updated_at)\n VALUES ('lounge_category_id', 3, 2, now(), now())")
  4350. -> 0.0004s
  4351. == 20140120155706 AddLoungeCategory: migrated (0.2941s) =======================
  4352.  
  4353. == 20140121204628 AddInvalidatedAtToInvites: migrating ========================
  4354. -- add_column(:invites, :invalidated_at, :datetime)
  4355. -> 0.0006s
  4356. == 20140121204628 AddInvalidatedAtToInvites: migrated (0.0046s) ===============
  4357.  
  4358. == 20140122043508 AddMetaCategory: migrating ==================================
  4359. -- execute("INSERT INTO site_settings(name, data_type, value, created_at, updated_at)\n VALUES ('meta_category_id', 3, 3, now(), now())")
  4360. -> 0.0002s
  4361. == 20140122043508 AddMetaCategory: migrated (0.0065s) =========================
  4362.  
  4363. == 20140124202427 AddPostsReadToUserVisits: migrating =========================
  4364. -- add_column(:user_visits, :posts_read, :integer, {:default=>0})
  4365. -> 0.0032s
  4366. -- execute("UPDATE user_visits SET posts_read = 1")
  4367. -> 0.0002s
  4368. == 20140124202427 AddPostsReadToUserVisits: migrated (0.0080s) ================
  4369.  
  4370. == 20140129164541 RemoveCategoryHotness: migrating ============================
  4371. -- remove_column(:categories, :hotness)
  4372. -> 0.0005s
  4373. == 20140129164541 RemoveCategoryHotness: migrated (0.0039s) ===================
  4374.  
  4375. == 20140206044818 AddLocaleToUser: migrating ==================================
  4376. -- add_column(:users, :locale, :string, {:limit=>10})
  4377. -> 0.0006s
  4378. == 20140206044818 AddLocaleToUser: migrated (0.0042s) =========================
  4379.  
  4380. == 20140206195001 AddDefaultsToCategoryPostsAndTopicsFields: migrating ========
  4381. -- change_column_default(:categories, :posts_week, 0)
  4382. -> 0.0016s
  4383. -- change_column_default(:categories, :posts_month, 0)
  4384. -> 0.0014s
  4385. -- change_column_default(:categories, :posts_year, 0)
  4386. -> 0.0014s
  4387. -- change_column_default(:categories, :topics_week, 0)
  4388. -> 0.0014s
  4389. -- change_column_default(:categories, :topics_month, 0)
  4390. -> 0.0014s
  4391. -- change_column_default(:categories, :topics_year, 0)
  4392. -> 0.0014s
  4393. == 20140206195001 AddDefaultsToCategoryPostsAndTopicsFields: migrated (0.0135s)
  4394.  
  4395. == 20140206215029 AddMailingListModeToUsers: migrating ========================
  4396. -- rename_column(:users, :watch_new_topics, :mailing_list_mode)
  4397. -> 0.0029s
  4398. == 20140206215029 AddMailingListModeToUsers: migrated (0.0071s) ===============
  4399.  
  4400. == 20140210194146 AddPrimaryGroupIdToUsers: migrating =========================
  4401. -- add_column(:users, :primary_group_id, :integer, {:null=>true})
  4402. -> 0.0006s
  4403. == 20140210194146 AddPrimaryGroupIdToUsers: migrated (0.0050s) ================
  4404.  
  4405. == 20140211230222 MoveCasSettings: migrating ==================================
  4406. -- drop_table(:cas_user_infos)
  4407. -> 0.0011s
  4408. == 20140211230222 MoveCasSettings: migrated (0.0168s) =========================
  4409.  
  4410. == 20140211234523 AddTargetsTopicToPostActions: migrating =====================
  4411. -- add_column(:post_actions, :targets_topic, :boolean, {:default=>false})
  4412. -> 0.0047s
  4413. == 20140211234523 AddTargetsTopicToPostActions: migrated (0.0109s) ============
  4414.  
  4415. == 20140214151255 AddSkippedToEmailLogs: migrating ============================
  4416. -- add_column(:email_logs, :skipped, :boolean, {:default=>:false})
  4417. -> 0.0056s
  4418. -- add_column(:email_logs, :skipped_reason, :string)
  4419. -> 0.0004s
  4420. -- add_index(:email_logs, [:skipped, :created_at])
  4421. -> 0.0025s
  4422. == 20140214151255 AddSkippedToEmailLogs: migrated (0.0163s) ===================
  4423.  
  4424. == 20140220160510 RenameSiteSettings: migrating ===============================
  4425. -- execute("UPDATE site_settings SET name = 'allow_restore' WHERE name = 'allow_import'")
  4426. -> 0.0003s
  4427. -- execute("UPDATE site_settings SET name = 'topics_per_period_in_top_summary' WHERE name = 'topics_per_period_in_summary'")
  4428. -> 0.0002s
  4429. == 20140220160510 RenameSiteSettings: migrated (0.0069s) ======================
  4430.  
  4431. == 20140220163213 RenameDeleteUserMaxAge: migrating ===========================
  4432. -- execute("UPDATE site_settings SET name = 'delete_user_max_post_age' WHERE name = 'delete_user_max_age'")
  4433. -> 0.0002s
  4434. == 20140220163213 RenameDeleteUserMaxAge: migrated (0.0043s) ==================
  4435.  
  4436. == 20140224232712 AddProfileBackgroundToUser: migrating =======================
  4437. -- add_column(:users, :profile_background, :string, {:limit=>255})
  4438. -> 0.0007s
  4439. == 20140224232712 AddProfileBackgroundToUser: migrated (0.0050s) ==============
  4440.  
  4441. == 20140224232913 AddSingleSignOnRecords: migrating ===========================
  4442. -- create_table(:single_sign_on_records)
  4443. -> 0.0040s
  4444. -- add_index(:single_sign_on_records, :external_id, {:unique=>true})
  4445. -> 0.0022s
  4446. == 20140224232913 AddSingleSignOnRecords: migrated (0.0123s) ==================
  4447.  
  4448. == 20140227104930 AddCustomEmailInToCategories: migrating =====================
  4449. -- add_column(:categories, :email_in, :string, {:null=>true})
  4450. -> 0.0007s
  4451. -- add_column(:categories, :email_in_allow_strangers, :boolean, {:default=>false})
  4452. -> 0.0061s
  4453. -- add_index(:categories, :email_in, {:unique=>true})
  4454. -> 0.0023s
  4455. == 20140227104930 AddCustomEmailInToCategories: migrated (0.0155s) ============
  4456.  
  4457. == 20140227201005 AddStaffCategory: migrating =================================
  4458. -- execute("INSERT INTO site_settings(name, data_type, value, created_at, updated_at)\n VALUES ('staff_category_id', 3, 4, now(), now())")
  4459. -> 0.0002s
  4460. == 20140227201005 AddStaffCategory: migrated (0.0078s) ========================
  4461.  
  4462. == 20140228005443 AddExternalUsernameToSingleSignOnRecord: migrating ==========
  4463. -- add_column(:single_sign_on_records, :external_username, :string)
  4464. -> 0.0006s
  4465. == 20140228005443 AddExternalUsernameToSingleSignOnRecord: migrated (0.0057s) =
  4466.  
  4467. == 20140228173431 AddExternalEmailAndExternalNameToSingleSignOnRecord: migrating
  4468. -- add_column(:single_sign_on_records, :external_email, :string)
  4469. -> 0.0006s
  4470. -- add_column(:single_sign_on_records, :external_name, :string)
  4471. -> 0.0003s
  4472. == 20140228173431 AddExternalEmailAndExternalNameToSingleSignOnRecord: migrated (0.0066s)
  4473.  
  4474. == 20140228205743 AddAdminOnlyToUserHistories: migrating ======================
  4475. -- add_column(:user_histories, :admin_only, :boolean, {:default=>false})
  4476. -> 0.0065s
  4477. -- execute("UPDATE user_histories SET admin_only = true WHERE action = 3")
  4478. -> 0.0007s
  4479. == 20140228205743 AddAdminOnlyToUserHistories: migrated (0.0191s) =============
  4480.  
  4481. == 20140303185354 AddNewSinceToUserStats: migrating ===========================
  4482. -- add_column(:user_stats, :new_since, :datetime)
  4483. -> 0.0006s
  4484. -- execute("UPDATE user_stats AS us\n SET new_since = u.created_at\n FROM users AS u\n WHERE u.id = us.user_id")
  4485. -> 0.0008s
  4486. -- change_column(:user_stats, :new_since, :datetime, {:null=>false})
  4487. -> 0.0005s
  4488. == 20140303185354 AddNewSinceToUserStats: migrated (0.0061s) ==================
  4489.  
  4490. == 20140304200606 CreateBadgeTypes: migrating =================================
  4491. -- create_table(:badge_types)
  4492. -> 0.0037s
  4493. -- add_index(:badge_types, [:name], {:unique=>true})
  4494. -> 0.0023s
  4495. == 20140304200606 CreateBadgeTypes: migrated (0.0109s) ========================
  4496.  
  4497. == 20140304201403 CreateBadges: migrating =====================================
  4498. -- create_table(:badges)
  4499. -> 0.0064s
  4500. -- add_index(:badges, [:name], {:unique=>true})
  4501. -> 0.0020s
  4502. == 20140304201403 CreateBadges: migrated (0.0138s) ============================
  4503.  
  4504. == 20140305100909 CreateUserBadges: migrating =================================
  4505. -- create_table(:user_badges)
  4506. -> 0.0047s
  4507. -- add_index(:user_badges, [:badge_id, :user_id], {:unique=>true})
  4508. -> 0.0021s
  4509. == 20140305100909 CreateUserBadges: migrated (0.0125s) ========================
  4510.  
  4511. == 20140306223522 MoveTopicRevisionsToPostRevisions: migrating ================
  4512. -- execute("\n INSERT INTO post_revisions(user_id, post_id, modifications, number, created_at, updated_at)\n SELECT tr.user_id, p.id, tr.modifications, tr.number, tr.created_at, tr.updated_at\n FROM topic_revisions tr\n JOIN topics t ON t.id = tr.topic_id\n JOIN posts p ON p.topic_id = t.id AND p.post_number = 1\n\n")
  4513. -> 0.0014s
  4514. -- execute("\n UPDATE post_revisions r SET number = 2 + (\n SELECT COUNT(*) FROM post_revisions r2\n WHERE r2.post_id = r.post_id AND r2.created_at < r.created_at\n )\n\n")
  4515. -> 0.0005s
  4516. -- execute("\n UPDATE posts p SET version = 1 + (\n SELECT COUNT(*) FROM post_revisions r\n WHERE r.post_id = p.id\n )\n\n")
  4517. -> 0.0003s
  4518. -- execute("\n DROP TABLE topic_revisions\n\n")
  4519. -> 0.0009s
  4520. == 20140306223522 MoveTopicRevisionsToPostRevisions: migrated (0.0087s) =======
  4521.  
  4522. == 20140318150412 AddExcerptToTopics: migrating ===============================
  4523. -- add_column(:topics, :excerpt, :string, {:limit=>1000})
  4524. -> 0.0007s
  4525. -- execute("SELECT id FROM topics WHERE pinned_at IS NOT NULL")
  4526. -> 0.0003s
  4527. == 20140318150412 AddExcerptToTopics: migrated (0.0061s) ======================
  4528.  
  4529. == 20140318203559 AddCreatedAtIndexToPosts: migrating =========================
  4530. -- execute("CREATE INDEX idx_posts_created_at_topic_id ON posts(created_at, topic_id) WHERE deleted_at IS NULL")
  4531. -> 0.0013s
  4532. -- add_column(:categories, :topics_day, :integer, {:default=>0})
  4533. -> 0.0063s
  4534. -- add_column(:categories, :posts_day, :integer, {:default=>0})
  4535. -> 0.0101s
  4536. -- execute("DROP INDEX index_topics_on_deleted_at_and_visible_and_archetype_and_id")
  4537. -> 0.0004s
  4538. -- add_index(:topics, [:deleted_at, :visible, :archetype, :category_id, :id], {:name=>"idx_topics_front_page"})
  4539. -> 0.0028s
  4540. == 20140318203559 AddCreatedAtIndexToPosts: migrated (0.0266s) ================
  4541.  
  4542. == 20140320042653 FacebookUserInfosUsernameCanBeNil: migrating ================
  4543. -- change_column("facebook_user_infos", :username, :string, {:null=>true})
  4544. -> 0.0007s
  4545. == 20140320042653 FacebookUserInfosUsernameCanBeNil: migrated (0.0058s) =======
  4546.  
  4547. == 20140402201432 MakeContentSha1Nullable: migrating ==========================
  4548. -- change_column(:topic_embeds, :content_sha1, :string, {:limit=>40, :null=>true})
  4549. -> 0.0008s
  4550. == 20140402201432 MakeContentSha1Nullable: migrated (0.0060s) =================
  4551.  
  4552. == 20140404143501 AddTitleToTopicLinks: migrating =============================
  4553. -- add_column(:topic_links, :title, :string)
  4554. -> 0.0005s
  4555. -- add_column(:topic_links, :crawled_at, :datetime)
  4556. -> 0.0003s
  4557. == 20140404143501 AddTitleToTopicLinks: migrated (0.0051s) ====================
  4558.  
  4559. == 20140407055830 AddPinnedGloballyToTopics: migrating ========================
  4560. -- add_column(:topics, :pinned_globally, :boolean, {:null=>false, :default=>false})
  4561. -> 0.0074s
  4562. -- execute("UPDATE topics set pinned_globally = 't' where category_id = (\n SELECT value::int FROM site_settings WHERE name = 'uncategorized_category_id') AND pinned_at IS NOT NULL\n ")
  4563. -> 0.0005s
  4564. == 20140407055830 AddPinnedGloballyToTopics: migrated (0.0135s) ===============
  4565.  
  4566. == 20140407202158 SiteSettingCommaToPipe: migrating ===========================
  4567. -- execute(" UPDATE site_settings\n SET value = replace(value, ',', '|')\n WHERE name = 'white_listed_spam_host_domains'\n ;\n")
  4568. -> 0.0003s
  4569. -- execute(" UPDATE site_settings\n SET value = replace(value, ',', '|')\n WHERE name = 'exclude_rel_nofollow_domains'\n ;\n")
  4570. -> 0.0002s
  4571. == 20140407202158 SiteSettingCommaToPipe: migrated (0.0048s) ==================
  4572.  
  4573. == 20140408061512 AddWikiToPosts: migrating ===================================
  4574. -- add_column(:posts, :wiki, :boolean, {:default=>false, :null=>false})
  4575. -> 0.0067s
  4576. == 20140408061512 AddWikiToPosts: migrated (0.0122s) ==========================
  4577.  
  4578. == 20140408152401 AddDefaultValueToTopTopicScores: migrating ==================
  4579. -- change_column_default(:top_topics, :daily_score, 0)
  4580. -> 0.0018s
  4581. -- change_column_default(:top_topics, :weekly_score, 0)
  4582. -> 0.0014s
  4583. -- change_column_default(:top_topics, :monthly_score, 0)
  4584. -> 0.0014s
  4585. -- change_column_default(:top_topics, :yearly_score, 0)
  4586. -> 0.0014s
  4587. == 20140408152401 AddDefaultValueToTopTopicScores: migrated (0.0110s) =========
  4588.  
  4589. == 20140415054717 AllowLongerUsernames: migrating =============================
  4590. -- change_column(:users, :username, :string, {:limit=>60})
  4591. -> 0.0010s
  4592. -- change_column(:users, :username_lower, :string, {:limit=>60})
  4593. -> 0.0007s
  4594. == 20140415054717 AllowLongerUsernames: migrated (0.0059s) ====================
  4595.  
  4596. == 20140416202746 CreateColorSchemes: migrating ===============================
  4597. -- create_table(:color_schemes)
  4598. -> 0.0045s
  4599. == 20140416202746 CreateColorSchemes: migrated (0.0099s) ======================
  4600.  
  4601. == 20140416202801 CreateColorSchemeColors: migrating ==========================
  4602. -- create_table(:color_scheme_colors)
  4603. -> 0.0050s
  4604. -- add_index(:color_scheme_colors, [:color_scheme_id])
  4605. -> 0.0025s
  4606. == 20140416202801 CreateColorSchemeColors: migrated (0.0139s) =================
  4607.  
  4608. == 20140416235757 RemoveColorHexcodeFromBadgeTypes: migrating =================
  4609. -- remove_column(:badge_types, :color_hexcode, :string)
  4610. -> 0.0004s
  4611. == 20140416235757 RemoveColorHexcodeFromBadgeTypes: migrated (0.0039s) ========
  4612.  
  4613. == 20140421235646 AddUserCustomFields: migrating ==============================
  4614. -- create_table(:user_custom_fields)
  4615. -> 0.0044s
  4616. -- add_index(:user_custom_fields, [:user_id, :name])
  4617. -> 0.0022s
  4618. == 20140421235646 AddUserCustomFields: migrated (0.0103s) =====================
  4619.  
  4620. == 20140422195623 AddVisibileToGroups: migrating ==============================
  4621. -- add_column(:groups, :visible, :boolean, {:default=>true, :null=>false})
  4622. -> 0.0040s
  4623. == 20140422195623 AddVisibileToGroups: migrated (0.0097s) =====================
  4624.  
  4625. == 20140425125742 AddCustomFields: migrating ==================================
  4626. -- create_table(:category_custom_fields)
  4627. -> 0.0042s
  4628. -- create_table(:group_custom_fields)
  4629. -> 0.0035s
  4630. -- create_table(:post_custom_fields)
  4631. -> 0.0033s
  4632. -- add_index(:category_custom_fields, [:category_id, :name])
  4633. -> 0.0022s
  4634. -- add_index(:group_custom_fields, [:group_id, :name])
  4635. -> 0.0020s
  4636. -- add_index(:post_custom_fields, [:post_id, :name])
  4637. -> 0.0020s
  4638. == 20140425125742 AddCustomFields: migrated (0.0223s) =========================
  4639.  
  4640. == 20140425135354 AddTopicCustomFields: migrating =============================
  4641. -- create_table(:topic_custom_fields)
  4642. -> 0.0036s
  4643. -- add_index(:topic_custom_fields, [:topic_id, :name])
  4644. -> 0.0027s
  4645. -- execute(" INSERT INTO topic_custom_fields(topic_id, name, value)\n SELECT id, (each(meta_data)).key, (each(meta_data)).value\n FROM topics WHERE meta_data <> ''\n")
  4646. -> 0.0017s
  4647. -- remove_column(:topics, :meta_data)
  4648. -> 0.0005s
  4649. == 20140425135354 AddTopicCustomFields: migrated (0.0139s) ====================
  4650.  
  4651. == 20140425172618 AddTitleableToBadges: migrating =============================
  4652. -- add_column(:badges, :allow_title, :boolean, {:null=>false, :default=>false})
  4653. -> 0.0050s
  4654. == 20140425172618 AddTitleableToBadges: migrated (0.0104s) ====================
  4655.  
  4656. == 20140429175951 AddRegistrationIpAddressToUsers: migrating ==================
  4657. -- add_column(:users, :registration_ip_address, :inet)
  4658. -> 0.0008s
  4659. == 20140429175951 AddRegistrationIpAddressToUsers: migrated (0.0061s) =========
  4660.  
  4661. == 20140504174212 IncrementReservedTrustLevelBadgeIds: migrating ==============
  4662. -- execute("ALTER SEQUENCE badges_id_seq START WITH 100")
  4663. -> 0.0002s
  4664. == 20140504174212 IncrementReservedTrustLevelBadgeIds: migrated (0.0226s) =====
  4665.  
  4666. == 20140505145918 AddLastRedirectedToTopAtToUsers: migrating ==================
  4667. -- add_column(:users, :last_redirected_to_top_at, :datetime)
  4668. -> 0.0008s
  4669. == 20140505145918 AddLastRedirectedToTopAtToUsers: migrated (0.0068s) =========
  4670.  
  4671. == 20140506200235 RemoveSeedColorScheme: migrating ============================
  4672. -- execute("DELETE FROM color_schemes WHERE id = 1")
  4673. -> 0.0004s
  4674. -- execute("DELETE FROM color_scheme_colors WHERE color_scheme_id = 1")
  4675. -> 0.0004s
  4676. == 20140506200235 RemoveSeedColorScheme: migrated (0.0065s) ===================
  4677.  
  4678. == 20140507173327 RemoveOpacityFromColorSchemeColors: migrating ===============
  4679. -- remove_column(:color_scheme_colors, :opacity)
  4680. -> 0.0005s
  4681. == 20140507173327 RemoveOpacityFromColorSchemeColors: migrated (0.0262s) ======
  4682.  
  4683. == 20140508053815 AddInvitedGroups: migrating =================================
  4684. -- create_table(:invited_groups)
  4685. -> 0.0046s
  4686. == 20140508053815 AddInvitedGroups: migrated (0.0110s) ========================
  4687.  
  4688. == 20140515220111 InitFixedCategoryPositionsValue: migrating ==================
  4689. == 20140515220111 InitFixedCategoryPositionsValue: migrated (0.0040s) =========
  4690.  
  4691. == 20140520062826 AddMultipleAwardToBadges: migrating =========================
  4692. -- add_column(:badges, :multiple_grant, :boolean, {:default=>false, :null=>false})
  4693. -> 0.0048s
  4694. -- remove_index(:user_badges, {:column=>[:badge_id, :user_id]})
  4695. -> 0.0011s
  4696. -- add_index(:user_badges, [:badge_id, :user_id])
  4697. -> 0.0021s
  4698. == 20140520062826 AddMultipleAwardToBadges: migrated (0.0130s) ================
  4699.  
  4700. == 20140520063859 RemoveHasCustomAvatarFromUserStats: migrating ===============
  4701. -- remove_column(:user_stats, :has_custom_avatar)
  4702. -> 0.0005s
  4703. == 20140520063859 RemoveHasCustomAvatarFromUserStats: migrated (0.0055s) ======
  4704.  
  4705. == 20140521192142 CreateGoogleUserInfos: migrating ============================
  4706. -- create_table(:google_user_infos)
  4707. -> 0.0042s
  4708. -- add_index(:google_user_infos, :user_id, {:unique=>true})
  4709. -> 0.0023s
  4710. -- add_index(:google_user_infos, :google_user_id, {:unique=>true})
  4711. -> 0.0019s
  4712. == 20140521192142 CreateGoogleUserInfos: migrated (0.0138s) ===================
  4713.  
  4714. == 20140521220115 GoogleOpenidDefaultHasChanged: migrating ====================
  4715. == 20140521220115 GoogleOpenidDefaultHasChanged: migrated (0.0045s) ===========
  4716.  
  4717. == 20140522003151 AddUserAvatars: migrating ===================================
  4718. -- create_table(:user_avatars)
  4719. -> 0.0030s
  4720. -- add_index(:user_avatars, [:user_id])
  4721. -> 0.0021s
  4722. -- execute(" INSERT INTO user_avatars(user_id, custom_upload_id)\n SELECT id, uploaded_avatar_id\n FROM users\n")
  4723. -> 0.0003s
  4724. -- execute(" UPDATE users SET uploaded_avatar_id = NULL\n WHERE NOT use_uploaded_avatar\n")
  4725. -> 0.0003s
  4726. == 20140522003151 AddUserAvatars: migrated (0.0103s) ==========================
  4727.  
  4728. == 20140525233953 RemoveUploadedAvatarTemplateFromUsers: migrating ============
  4729. -- remove_column(:users, :uploaded_avatar_template)
  4730. -> 0.0004s
  4731. == 20140525233953 RemoveUploadedAvatarTemplateFromUsers: migrated (0.0286s) ===
  4732.  
  4733. == 20140526185749 ChangeCategoryUniqunessContstraint: migrating ===============
  4734. -- remove_index(:categories, {:name=>"index_categories_on_name"})
  4735. -> 0.0012s
  4736. -- add_index(:categories, [:parent_category_id, :name], {:unique=>true})
  4737. -> 0.0024s
  4738. == 20140526185749 ChangeCategoryUniqunessContstraint: migrated (0.0073s) ======
  4739.  
  4740. == 20140526201939 AddDisableJumpReplyToUsers: migrating =======================
  4741. -- add_column(:users, :disable_jump_reply, :boolean, {:default=>false, :null=>false})
  4742. -> 0.0080s
  4743. == 20140526201939 AddDisableJumpReplyToUsers: migrated (0.0135s) ==============
  4744.  
  4745. == 20140527163207 CreateUserProfiles: migrating ===============================
  4746. -- create_table(:user_profiles, {:id=>false})
  4747. -> 0.0018s
  4748. -- execute("ALTER TABLE user_profiles ADD PRIMARY KEY (user_id)")
  4749. -> 0.0010s
  4750. -- execute("INSERT INTO user_profiles (user_id) SELECT id FROM users")
  4751. -> 0.0006s
  4752. == 20140527163207 CreateUserProfiles: migrated (0.0083s) ======================
  4753.  
  4754. == 20140527233225 AddSystemSavatarVersionToUserAvatars: migrating =============
  4755. -- add_column(:user_avatars, :system_avatar_version, :integer, {:default=>0})
  4756. -> 0.0030s
  4757. == 20140527233225 AddSystemSavatarVersionToUserAvatars: migrated (0.0071s) ====
  4758.  
  4759. == 20140528015354 AddBakedAtToPosts: migrating ================================
  4760. -- add_column(:posts, :baked_at, :datetime)
  4761. -> 0.0006s
  4762. == 20140528015354 AddBakedAtToPosts: migrated (0.0043s) =======================
  4763.  
  4764. == 20140529045508 RemoveUseUploadedAvatarFromUser: migrating ==================
  4765. -- remove_column(:users, :use_uploaded_avatar)
  4766. -> 0.0005s
  4767. == 20140529045508 RemoveUseUploadedAvatarFromUser: migrated (0.0039s) =========
  4768.  
  4769. == 20140530002535 RemoveSystemAvatarsFromUserAvatars: migrating ===============
  4770. -- execute("UPDATE users SET uploaded_avatar_id = NULL WHERE uploaded_avatar_id IN (\n SELECT system_upload_id FROM user_avatars\n )")
  4771. -> 0.0007s
  4772. -- remove_column(:user_avatars, :system_upload_id)
  4773. -> 0.0003s
  4774. -- remove_column(:user_avatars, :system_avatar_version)
  4775. -> 0.0003s
  4776. == 20140530002535 RemoveSystemAvatarsFromUserAvatars: migrated (0.0230s) ======
  4777.  
  4778. == 20140530043913 AddBakedVersionToPost: migrating ============================
  4779. -- add_column(:posts, :baked_version, :integer)
  4780. -> 0.0006s
  4781. == 20140530043913 AddBakedVersionToPost: migrated (0.0048s) ===================
  4782.  
  4783. == 20140604145431 DisableExternalAuthsByDefault: migrating ====================
  4784. == 20140604145431 DisableExternalAuthsByDefault: migrated (0.0038s) ===========
  4785.  
  4786. == 20140607035234 AddWebsiteToUserProfiles: migrating =========================
  4787. -- add_column(:user_profiles, :website, :string)
  4788. -> 0.0005s
  4789. -- execute("UPDATE user_profiles SET website = (SELECT website FROM users where user_profiles.user_id = users.id)")
  4790. -> 0.0004s
  4791. -- remove_column(:users, :website)
  4792. -> 0.0004s
  4793. == 20140607035234 AddWebsiteToUserProfiles: migrated (0.0051s) ================
  4794.  
  4795. == 20140610012414 AddPostIdToUserBadges: migrating ============================
  4796. -- add_column(:user_badges, :post_id, :integer)
  4797. -> 0.0005s
  4798. == 20140610012414 AddPostIdToUserBadges: migrated (0.0048s) ===================
  4799.  
  4800. == 20140610012833 AddIconToBadges: migrating ==================================
  4801. -- add_column(:badges, :icon, :string, {:default=>"fa-certificate"})
  4802. -> 0.0049s
  4803. == 20140610012833 AddIconToBadges: migrated (0.0097s) =========================
  4804.  
  4805. == 20140610034314 MoveBioToUserProfiles: migrating ============================
  4806. -- add_column(:user_profiles, :bio_raw, :text)
  4807. -> 0.0005s
  4808. -- add_column(:user_profiles, :bio_cooked, :text)
  4809. -> 0.0003s
  4810. -- execute("UPDATE user_profiles SET bio_raw = subquery.bio_raw, bio_cooked = subquery.bio_cooked FROM (\n SELECT bio_raw, bio_cooked, id FROM users\n ) as subquery WHERE user_profiles.user_id = subquery.id")
  4811. -> 0.0006s
  4812. -- remove_column(:users, :bio_raw)
  4813. -> 0.0003s
  4814. -- remove_column(:users, :bio_cooked)
  4815. -> 0.0003s
  4816. == 20140610034314 MoveBioToUserProfiles: migrated (0.0059s) ===================
  4817.  
  4818. == 20140612010718 MoveProfileBackgroundToUserProfiles: migrating ==============
  4819. -- add_column(:user_profiles, :profile_background, :string, {:limit=>255})
  4820. -> 0.0004s
  4821. -- execute("UPDATE user_profiles SET profile_background = (SELECT profile_background FROM users WHERE user_profiles.user_id = users.id)")
  4822. -> 0.0004s
  4823. -- remove_column(:users, :profile_background)
  4824. -> 0.0003s
  4825. == 20140612010718 MoveProfileBackgroundToUserProfiles: migrated (0.0047s) =====
  4826.  
  4827. == 20140617053829 AddNotificationIdToUserBadge: migrating =====================
  4828. -- add_column(:user_badges, :notification_id, :integer)
  4829. -> 0.0004s
  4830. == 20140617053829 AddNotificationIdToUserBadge: migrated (0.0039s) ============
  4831.  
  4832. == 20140617080955 RenameRegisteredUsers: migrating ============================
  4833. -- execute("update groups set name = 'trust_level_0' where name = 'registered_users' and id = 10")
  4834. -> 0.0004s
  4835. == 20140617080955 RenameRegisteredUsers: migrated (0.0037s) ===================
  4836.  
  4837. == 20140617193351 AddPostIdIndexOnTopicLinks: migrating =======================
  4838. -- add_index(:topic_links, :post_id)
  4839. -> 0.0024s
  4840. == 20140617193351 AddPostIdIndexOnTopicLinks: migrated (0.0057s) ==============
  4841.  
  4842. == 20140618001820 DontAutoMutoTopics: migrating ===============================
  4843. -- execute("DELETE FROM topic_users WHERE notification_level = 0 and notifications_reason_id =7 AND first_visited_at IS NULL")
  4844. -> 0.0004s
  4845. -- execute("UPDATE topic_users SET notification_level = 1,\n notifications_reason_id = NULL\n WHERE notification_level = 0 AND notifications_reason_id =7")
  4846. -> 0.0002s
  4847. == 20140618001820 DontAutoMutoTopics: migrated (0.0038s) ======================
  4848.  
  4849. == 20140618163511 AddDismissedBannerKeyToUserProfile: migrating ===============
  4850. -- add_column(:user_profiles, :dismissed_banner_key, :integer, {:nullable=>true})
  4851. -> 0.0004s
  4852. == 20140618163511 AddDismissedBannerKeyToUserProfile: migrated (0.0038s) ======
  4853.  
  4854. == 20140620184031 AddHiddenAtToPosts: migrating ===============================
  4855. -- add_column(:posts, :hidden_at, :timestamp)
  4856. -> 0.0006s
  4857. == 20140620184031 AddHiddenAtToPosts: migrated (0.0038s) ======================
  4858.  
  4859. == 20140623195618 FixCategoriesConstraint: migrating ==========================
  4860. -- remove_index(:categories, {:name=>"index_categories_on_parent_category_id_and_name"})
  4861. -> 0.0013s
  4862. -- execute("DELETE FROM categories WHERE id IN (SELECT id FROM (SELECT id, row_number() over (partition BY parent_category_id, name ORDER BY id) AS rnum FROM categories) t WHERE t.rnum > 1)")
  4863. -> 0.0010s
  4864. -- execute("CREATE UNIQUE INDEX unique_index_categories_on_name ON categories (COALESCE(parent_category_id, -1), name)")
  4865. -> 0.0013s
  4866. == 20140623195618 FixCategoriesConstraint: migrated (0.0099s) =================
  4867.  
  4868. == 20140624044600 AddRawDataToSearch: migrating ===============================
  4869. -- add_column(:post_search_data, :raw_data, :text)
  4870. -> 0.0005s
  4871. -- add_column(:user_search_data, :raw_data, :text)
  4872. -> 0.0003s
  4873. -- add_column(:category_search_data, :raw_data, :text)
  4874. -> 0.0003s
  4875. -- add_column(:post_search_data, :locale, :string)
  4876. -> 0.0003s
  4877. -- add_column(:user_search_data, :locale, :text)
  4878. -> 0.0003s
  4879. -- add_column(:category_search_data, :locale, :text)
  4880. -> 0.0003s
  4881. == 20140624044600 AddRawDataToSearch: migrated (0.0073s) ======================
  4882.  
  4883. == 20140627193814 AddImagesToCategories: migrating ============================
  4884. -- add_column(:categories, :logo_url, :string)
  4885. -> 0.0005s
  4886. -- add_column(:categories, :background_url, :string)
  4887. -> 0.0003s
  4888. == 20140627193814 AddImagesToCategories: migrated (0.0042s) ===================
  4889.  
  4890. == 20140703022838 AddFieldsToBadges: migrating ================================
  4891. -- add_column(:badges, :listable, :boolean, {:default=>true})
  4892. -> 0.0051s
  4893. -- add_column(:badges, :target_posts, :boolean, {:default=>false})
  4894. -> 0.0048s
  4895. -- add_column(:badges, :query, :text)
  4896. -> 0.0004s
  4897. == 20140703022838 AddFieldsToBadges: migrated (0.0161s) =======================
  4898.  
  4899. == 20140705081453 IndexUserBadges: migrating ==================================
  4900. -- execute("DELETE FROM user_badges USING user_badges ub2\n WHERE user_badges.badge_id = ub2.badge_id AND\n user_badges.user_id = ub2.user_id AND\n user_badges.post_id IS NOT NULL AND\n user_badges.id < ub2.id\n ")
  4901. -> 0.0008s
  4902. -- add_index(:user_badges, [:badge_id, :user_id, :post_id], {:unique=>true, :where=>"post_id IS NOT NULL"})
  4903. -> 0.0029s
  4904. == 20140705081453 IndexUserBadges: migrated (0.0101s) =========================
  4905.  
  4906. == 20140707071913 AddSelfEditsToPosts: migrating ==============================
  4907. -- add_column(:posts, :self_edits, :integer, {:null=>false, :default=>0})
  4908. -> 0.0091s
  4909. -- execute("\n UPDATE posts p SET self_edits = (SELECT COUNT(*) FROM post_revisions pr WHERE pr.post_id = p.id AND pr.user_id=p.user_id)\n ")
  4910. -> 0.0007s
  4911. == 20140707071913 AddSelfEditsToPosts: migrated (0.0155s) =====================
  4912.  
  4913. == 20140710005023 AddBadgePostsAndTopicsView: migrating =======================
  4914. -- add_column(:categories, :allow_badges, :boolean, {:default=>true, :null=>false})
  4915. -> 0.0069s
  4916. -- execute("CREATE VIEW badge_posts AS\n SELECT p.*\n FROM posts p\n JOIN topics t ON t.id = p.topic_id\n JOIN categories c ON c.id = t.category_id\n WHERE c.allow_badges AND\n p.deleted_at IS NULL AND\n t.deleted_at IS NULL AND\n t.visible")
  4917. -> 0.0053s
  4918. == 20140710005023 AddBadgePostsAndTopicsView: migrated (0.0185s) ==============
  4919.  
  4920. == 20140710224658 AddIsQuoteToTopicLinks: migrating ===========================
  4921. -- add_column(:topic_links, :quote, :boolean, {:default=>false, :null=>false})
  4922. -> 0.0055s
  4923. -- execute("\n UPDATE topic_links\n SET quote = true\n WHERE id IN (\n SELECT l.id\n FROM topic_links l\n JOIN posts p ON p.id = l.post_id\n JOIN posts lp ON l.link_post_id = lp.id\n WHERE p.raw LIKE '%[quote=%post:' ||\n lp.post_number::varchar || ',%topic:' ||\n lp.topic_id::varchar || '%]%[/quote]%'\n )")
  4924. -> 0.0011s
  4925. == 20140710224658 AddIsQuoteToTopicLinks: migrated (0.0128s) ==================
  4926.  
  4927. == 20140711063215 AddReadFaqToUserStats: migrating ============================
  4928. -- add_column(:user_stats, :read_faq, :datetime)
  4929. -> 0.0006s
  4930. == 20140711063215 AddReadFaqToUserStats: migrated (0.0044s) ===================
  4931.  
  4932. == 20140711143146 RemoveNotNullFromEmail: migrating ===========================
  4933. -- execute("ALTER TABLE invites ALTER COLUMN email DROP NOT NULL")
  4934. -> 0.0003s
  4935. == 20140711143146 RemoveNotNullFromEmail: migrated (0.0037s) ==================
  4936.  
  4937. == 20140711193923 RemoveEmailInAddressSetting: migrating ======================
  4938. == 20140711193923 RemoveEmailInAddressSetting: migrated (0.0043s) =============
  4939.  
  4940. == 20140711233329 BadgesOnlyOnPublicCategories: migrating =====================
  4941. -- execute("DROP VIEW badge_posts")
  4942. -> 0.0010s
  4943. -- execute("CREATE VIEW badge_posts AS\n SELECT p.*\n FROM posts p\n JOIN topics t ON t.id = p.topic_id\n JOIN categories c ON c.id = t.category_id\n WHERE c.allow_badges AND\n p.deleted_at IS NULL AND\n t.deleted_at IS NULL AND\n NOT c.read_restricted AND\n t.visible")
  4944. -> 0.0036s
  4945. == 20140711233329 BadgesOnlyOnPublicCategories: migrated (0.0105s) ============
  4946.  
  4947. == 20140714060646 AddEnabledToBadges: migrating ===============================
  4948. -- add_column(:badges, :enabled, :boolean, {:default=>true, :null=>false})
  4949. -> 0.0055s
  4950. == 20140714060646 AddEnabledToBadges: migrated (0.0099s) ======================
  4951.  
  4952. == 20140715013018 CorrectPostNumberIndex: migrating ===========================
  4953. -- execute(" UPDATE posts SET post_number = post_number + 1\n WHERE id IN (\n SELECT p1.id\n FROM posts p1\n JOIN\n (\n SELECT post_number, topic_id, min(id) min_id\n FROM posts\n GROUP BY post_number, topic_id\n HAVING COUNT(*) > 1\n ) pp ON p1.topic_id = pp.topic_id AND\n p1.post_number >= pp.post_number AND\n p1.id <> pp.min_id\n )\n")
  4954. -> 0.0008s
  4955. -- remove_index(:posts, [:topic_id, :post_number])
  4956. -> 0.0011s
  4957. -- add_index(:posts, [:topic_id, :post_number], {:unique=>true})
  4958. -> 0.0030s
  4959. == 20140715013018 CorrectPostNumberIndex: migrated (0.0106s) ==================
  4960.  
  4961. == 20140715051412 AddAutoRevokeToBadges: migrating ============================
  4962. -- add_column(:badges, :auto_revoke, :boolean, {:default=>true, :null=>false})
  4963. -> 0.0049s
  4964. == 20140715051412 AddAutoRevokeToBadges: migrated (0.0103s) ===================
  4965.  
  4966. == 20140715055242 AddQuotedPosts: migrating ===================================
  4967. -- create_table(:quoted_posts)
  4968. -> 0.0029s
  4969. -- add_index(:quoted_posts, [:post_id, :quoted_post_id], {:unique=>true})
  4970. -> 0.0026s
  4971. -- add_index(:quoted_posts, [:quoted_post_id, :post_id], {:unique=>true})
  4972. -> 0.0023s
  4973. -- execute(" SELECT id, cooked\n FROM posts\n WHERE raw like '%quote=%' AND id > 0\n ORDER BY id\n LIMIT 1000\n")
  4974. -> 0.0006s
  4975. == 20140715055242 AddQuotedPosts: migrated (0.0150s) ==========================
  4976.  
  4977. == 20140715160720 UpdateUsersCaseInsensitiveEmails: migrating =================
  4978. -- execute("DROP INDEX index_users_on_email")
  4979. -> 0.0004s
  4980. -- execute(" SELECT id, email, count\n FROM (SELECT id, email,\n row_number() OVER(PARTITION BY lower(email) ORDER BY id asc) AS count\n FROM users) dups\n WHERE dups.count > 1\n")
  4981. -> 0.0004s
  4982. -- execute("UPDATE users SET email = lower(email)")
  4983. -> 0.0003s
  4984. -- execute("CREATE UNIQUE INDEX index_users_on_email ON users ((lower(email)));")
  4985. -> 0.0014s
  4986. == 20140715160720 UpdateUsersCaseInsensitiveEmails: migrated (0.0082s) ========
  4987.  
  4988. == 20140715190552 RemoveUncategorizedParents: migrating =======================
  4989. -- execute("SELECT value FROM site_settings WHERE name = 'uncategorized_category_id'")
  4990. -> 0.0002s
  4991. -- execute("UPDATE categories SET parent_category_id = NULL where id = 1")
  4992. -> 0.0005s
  4993. == 20140715190552 RemoveUncategorizedParents: migrated (0.0054s) ==============
  4994.  
  4995. == 20140716063802 AddBadgeGroupings: migrating ================================
  4996. -- create_table(:badge_groupings)
  4997. -> 0.0041s
  4998. -- add_column(:badges, :badge_grouping_id, :integer)
  4999. -> 0.0004s
  5000. == 20140716063802 AddBadgeGroupings: migrated (0.0100s) =======================
  5001.  
  5002. == 20140717024528 DescriptionOptionalInBadgeGrouping: migrating ===============
  5003. -- change_column(:badge_groupings, :description, :text, {:null=>true})
  5004. -> 0.0006s
  5005. == 20140717024528 DescriptionOptionalInBadgeGrouping: migrated (0.0048s) ======
  5006.  
  5007. == 20140718041445 SetDefaultBadgeGrouping: migrating ==========================
  5008. -- execute("UPDATE badges SET badge_grouping_id = 5 WHERE badge_grouping_id IS NULL")
  5009. -> 0.0004s
  5010. -- change_column(:badges, :badge_grouping_id, :integer, {:null=>false, :default=>5})
  5011. -> 0.0030s
  5012. == 20140718041445 SetDefaultBadgeGrouping: migrated (0.0083s) =================
  5013.  
  5014. == 20140721063820 AddTriggerToBadges: migrating ===============================
  5015. -- add_column(:badges, :trigger, :integer)
  5016. -> 0.0005s
  5017. == 20140721063820 AddTriggerToBadges: migrated (0.0043s) ======================
  5018.  
  5019. == 20140721161249 AddAgreedAtAndAgreedByIdToPostAction: migrating =============
  5020. -- add_column(:post_actions, :agreed_at, :datetime)
  5021. -> 0.0005s
  5022. -- add_column(:post_actions, :agreed_by_id, :integer)
  5023. -> 0.0003s
  5024. == 20140721161249 AddAgreedAtAndAgreedByIdToPostAction: migrated (0.0051s) ====
  5025.  
  5026. == 20140721162307 RenameDeferColumnsOnPostAction: migrating ===================
  5027. -- rename_column(:post_actions, :defer_by, :defered_by_id)
  5028. -> 0.0019s
  5029. -- add_column(:post_actions, :defered_at, :datetime)
  5030. -> 0.0004s
  5031. -- execute("UPDATE post_actions SET defered_at = updated_at WHERE defer = 't'")
  5032. -> 0.0004s
  5033. -- remove_column(:post_actions, :defer)
  5034. -> 0.0004s
  5035. == 20140721162307 RenameDeferColumnsOnPostAction: migrated (0.0074s) ==========
  5036.  
  5037. == 20140723011456 AddShowPostsToBadges: migrating =============================
  5038. -- add_column(:badges, :show_posts, :boolean, {:null=>false, :default=>false})
  5039. -> 0.0057s
  5040. == 20140723011456 AddShowPostsToBadges: migrated (0.0122s) ====================
  5041.  
  5042. == 20140725050636 RemoveInvalidIncomingLinks: migrating =======================
  5043. -- execute("DELETE FROM incoming_links WHERE url ILIKE '%avatar%.png'")
  5044. -> 0.0005s
  5045. == 20140725050636 RemoveInvalidIncomingLinks: migrated (0.0052s) ==============
  5046.  
  5047. == 20140725172830 RemoveMessageFromPostAction: migrating ======================
  5048. -- remove_column(:post_actions, :message)
  5049. -> 0.0005s
  5050. == 20140725172830 RemoveMessageFromPostAction: migrated (0.0064s) =============
  5051.  
  5052. == 20140727030954 AddEditHistoryPublicToUsers: migrating ======================
  5053. -- add_column(:users, :edit_history_public, :boolean, {:default=>false, :null=>false})
  5054. -> 0.0094s
  5055. == 20140727030954 AddEditHistoryPublicToUsers: migrated (0.0150s) =============
  5056.  
  5057. == 20140728120708 FixIndexOnPostAction: migrating =============================
  5058. -- remove_index("post_actions", {:name=>"idx_unique_actions"})
  5059. -> 0.0013s
  5060. -- add_index("post_actions", ["user_id", "post_action_type_id", "post_id", "deleted_at", "targets_topic"], {:name=>"idx_unique_actions", :unique=>true})
  5061. -> 0.0025s
  5062. == 20140728120708 FixIndexOnPostAction: migrated (0.0094s) ====================
  5063.  
  5064. == 20140728144308 AddFirstPostCreatedAtToUserStat: migrating ==================
  5065. -- add_column(:user_stats, :first_post_created_at, :datetime)
  5066. -> 0.0006s
  5067. -- execute(" WITH first_posts AS (\n SELECT p.id,\n p.user_id,\n p.created_at,\n ROW_NUMBER() OVER (PARTITION BY p.user_id ORDER BY p.created_at ASC) AS row\n FROM posts p\n )\n UPDATE user_stats us\n SET first_post_created_at = fp.created_at\n FROM first_posts fp\n WHERE fp.row = 1\n AND fp.user_id = us.user_id\n")
  5068. -> 0.0006s
  5069. == 20140728144308 AddFirstPostCreatedAtToUserStat: migrated (0.0062s) =========
  5070.  
  5071. == 20140728152804 AddPostAndTopicCountsToUserStat: migrating ==================
  5072. -- add_column(:user_stats, :post_count, :integer, {:default=>0, :null=>false})
  5073. -> 0.0029s
  5074. -- add_column(:user_stats, :topic_count, :integer, {:default=>0, :null=>false})
  5075. -> 0.0027s
  5076. -- execute(" UPDATE user_stats\n SET post_count = pc.count\n FROM (SELECT user_id, COUNT(*) AS count FROM posts GROUP BY user_id) AS pc\n WHERE pc.user_id = user_stats.user_id\n")
  5077. -> 0.0007s
  5078. -- execute(" UPDATE user_stats\n SET topic_count = tc.count\n FROM (SELECT user_id, COUNT(*) AS count FROM topics GROUP BY user_id) AS tc\n WHERE tc.user_id = user_stats.user_id\n")
  5079. -> 0.0006s
  5080. == 20140728152804 AddPostAndTopicCountsToUserStat: migrated (0.0126s) =========
  5081.  
  5082. == 20140729092525 RemoveUniqueConstraintFromInvitesIndex: migrating ===========
  5083. -- remove_index(:invites, [:email, :invited_by_id])
  5084. -> 0.0013s
  5085. -- add_index(:invites, [:email, :invited_by_id], {:unique=>false})
  5086. -> 0.0024s
  5087. == 20140729092525 RemoveUniqueConstraintFromInvitesIndex: migrated (0.0092s) ==
  5088.  
  5089. == 20140730203029 AddDisagreedAtAndDisagreedByIdToPostAction: migrating =======
  5090. -- add_column(:post_actions, :disagreed_at, :datetime)
  5091. -> 0.0006s
  5092. -- add_column(:post_actions, :disagreed_by_id, :integer)
  5093. -> 0.0003s
  5094. -- execute(" UPDATE post_actions\n SET disagreed_at = deleted_at,\n disagreed_by_id = deleted_by_id,\n deleted_at = NULL,\n deleted_by_id = NULL\n WHERE deleted_by_id != user_id\n")
  5095. -> 0.0004s
  5096. == 20140730203029 AddDisagreedAtAndDisagreedByIdToPostAction: migrated (0.0068s)
  5097.  
  5098. == 20140731011328 AddReplyQuotedToPosts: migrating ============================
  5099. -- add_column(:posts, :reply_quoted, :boolean, {:null=>false, :default=>false})
  5100. -> 0.0074s
  5101. -- execute("UPDATE posts p\n SET reply_quoted = true\n WHERE EXISTS(\n SELECT 1 FROM quoted_posts q\n JOIN posts p1 ON p1.post_number = p.reply_to_post_number AND p1.topic_id = p.topic_id\n WHERE q.post_id = p.id AND q.quoted_post_id = p1.id\n ) AND p.reply_to_post_number IS NOT NULL")
  5102. -> 0.0010s
  5103. == 20140731011328 AddReplyQuotedToPosts: migrated (0.0150s) ===================
  5104.  
  5105. == 20140801052028 FixIncomingLinks: migrating =================================
  5106. -- execute("DROP INDEX incoming_index")
  5107. -> 0.0003s
  5108. -- add_column(:incoming_links, :post_id, :integer)
  5109. -> 0.0005s
  5110. -- remove_column(:incoming_links, :updated_at)
  5111. -> 0.0003s
  5112. -- remove_column(:incoming_links, :url)
  5113. -> 0.0002s
  5114. -- execute("UPDATE incoming_links l SET post_id = (\n SELECT p.id FROM posts p WHERE p.topic_id = l.topic_id AND p.post_number = l.post_number\n )")
  5115. -> 0.0007s
  5116. -- execute("DELETE FROM incoming_links WHERE post_id IS NULL")
  5117. -> 0.0002s
  5118. -- change_column(:incoming_links, :post_id, :integer, {:null=>false})
  5119. -> 0.0005s
  5120. -- add_index(:incoming_links, :post_id)
  5121. -> 0.0028s
  5122. == 20140801052028 FixIncomingLinks: migrated (0.0122s) ========================
  5123.  
  5124. == 20140801170444 CreatePostTimingsUserIndex: migrating =======================
  5125. -- add_index(:post_timings, :user_id)
  5126. -> 0.0023s
  5127. == 20140801170444 CreatePostTimingsUserIndex: migrated (0.0075s) ==============
  5128.  
  5129. == 20140804010803 IncomingLinkNormalization: migrating ========================
  5130. -- remove_column(:incoming_links, :post_number)
  5131. -> 0.0004s
  5132. -- remove_column(:incoming_links, :domain)
  5133. -> 0.0003s
  5134. -- add_column(:incoming_links, :incoming_referer_id, :integer)
  5135. -> 0.0004s
  5136. -- create_table(:incoming_referers)
  5137. -> 0.0036s
  5138. -- execute("INSERT INTO incoming_referers(url, https, domain, port, path)\n SELECT referer,\n CASE WHEN a[1] = 's' THEN true ELSE false END,\n a[2] as domain,\n CASE WHEN a[1] = 's' THEN\n COALESCE(a[4]::integer, 443)::integer\n ELSE\n COALESCE(a[4]::integer, 80)::integer\n END,\n COALESCE(a[5], '') path\n FROM\n (\n SELECT referer, regexp_matches(referer, 'http(s)?://([^/:]+)(:(d+))?(.*)') a\n FROM\n (\n SELECT DISTINCT referer\n FROM incoming_links WHERE referer ~ '^https?://.+'\n ) Z\n ) X\n WHERE a[2] IS NOT NULL")
  5139. -> 0.0007s
  5140. -- execute("UPDATE incoming_links l\n SET incoming_referer_id = r.id\n FROM incoming_referers r\n WHERE r.url = l.referer")
  5141. -> 0.0003s
  5142. -- create_table(:incoming_domains)
  5143. -> 0.0028s
  5144. -- execute("INSERT INTO incoming_domains(name, port, https)\n SELECT DISTINCT domain, port, https\n FROM incoming_referers")
  5145. -> 0.0004s
  5146. -- execute("UPDATE incoming_referers l\n SET incoming_domain_id = d.id\n FROM incoming_domains d\n WHERE d.name = l.domain AND d.https = l.https AND d.port = l.port")
  5147. -> 0.0004s
  5148. -- remove_column(:incoming_referers, :domain)
  5149. -> 0.0003s
  5150. -- remove_column(:incoming_referers, :port)
  5151. -> 0.0003s
  5152. -- remove_column(:incoming_referers, :https)
  5153. -> 0.0002s
  5154. -- change_column(:incoming_referers, :incoming_domain_id, :integer, {:null=>false})
  5155. -> 0.0005s
  5156. -- add_index(:incoming_referers, [:path, :incoming_domain_id], {:unique=>true})
  5157. -> 0.0026s
  5158. -- add_index(:incoming_domains, [:name, :https, :port], {:unique=>true})
  5159. -> 0.0023s
  5160. -- remove_column(:incoming_links, :referer)
  5161. -> 0.0003s
  5162. == 20140804010803 IncomingLinkNormalization: migrated (0.0219s) ===============
  5163.  
  5164. == 20140804030041 RemoveUrlFromIncomingReferer: migrating =====================
  5165. -- remove_column(:incoming_referers, :url)
  5166. -> 0.0005s
  5167. == 20140804030041 RemoveUrlFromIncomingReferer: migrated (0.0074s) ============
  5168.  
  5169. == 20140804060439 DropTopicIdFromIncomingLinks: migrating =====================
  5170. -- remove_column(:incoming_links, :topic_id)
  5171. -> 0.0004s
  5172. == 20140804060439 DropTopicIdFromIncomingLinks: migrated (0.0060s) ============
  5173.  
  5174. == 20140804072504 ViewsToTopicViews: migrating ================================
  5175. -- remove_column(:views, :parent_type)
  5176. -> 0.0006s
  5177. -- rename_column(:views, :parent_id, :topic_id)
  5178. -> 0.0010s
  5179. -- rename_table(:views, :topic_views)
  5180. -> 0.0033s
  5181. -- add_index(:topic_views, [:topic_id])
  5182. -> 0.0024s
  5183. -- add_index(:topic_views, [:user_id, :topic_id])
  5184. -> 0.0020s
  5185. == 20140804072504 ViewsToTopicViews: migrated (0.0167s) =======================
  5186.  
  5187. == 20140804075613 NormalizeTopicViewDataAndIndex: migrating ===================
  5188. -- remove_index(:topic_views, [:topic_id])
  5189. -> 0.0013s
  5190. -- remove_index(:topic_views, [:user_id, :topic_id])
  5191. -> 0.0009s
  5192. -- execute("CREATE TEMPORARY TABLE tmp_views_user(user_id int, topic_id int, viewed_at date, ip_address inet)")
  5193. -> 0.0015s
  5194. -- execute("INSERT INTO tmp_views_user(user_id, topic_id, ip_address, viewed_at)\n SELECT user_id, topic_id, min(ip_address::varchar)::inet, min(viewed_at)\n FROM topic_views\n WHERE user_id IS NOT NULL\n GROUP BY user_id, topic_id\n ")
  5195. -> 0.0004s
  5196. -- execute("CREATE TEMPORARY TABLE tmp_views_ip(topic_id int, viewed_at date, ip_address inet)")
  5197. -> 0.0009s
  5198. -- execute("INSERT INTO tmp_views_ip(topic_id, ip_address, viewed_at)\n SELECT topic_id, ip_address, min(viewed_at)\n FROM topic_views\n WHERE user_id IS NULL\n GROUP BY user_id, topic_id, ip_address\n ")
  5199. -> 0.0004s
  5200. -- execute("truncate table topic_views")
  5201. -> 0.0010s
  5202. -- execute("INSERT INTO topic_views(user_id, topic_id, ip_address, viewed_at)\n SELECT user_id, topic_id, ip_address, viewed_at FROM tmp_views_user\n UNION ALL\n SELECT NULL, topic_id, ip_address, viewed_at FROM tmp_views_ip\n ")
  5203. -> 0.0003s
  5204. -- execute("CREATE UNIQUE INDEX user_id_topic_id_topic_views ON topic_views(user_id, topic_id) WHERE user_id IS NOT NULL")
  5205. -> 0.0009s
  5206. -- execute("CREATE UNIQUE INDEX ip_address_topic_id_topic_views ON topic_views(ip_address, topic_id) WHERE user_id IS NULL")
  5207. -> 0.0008s
  5208. -- add_index(:topic_views, [:topic_id, :viewed_at])
  5209. -> 0.0022s
  5210. -- add_index(:topic_views, [:viewed_at, :topic_id])
  5211. -> 0.0021s
  5212. == 20140804075613 NormalizeTopicViewDataAndIndex: migrated (0.0203s) ==========
  5213.  
  5214. == 20140805061612 AddBioCookedVersionToUserProfile: migrating =================
  5215. -- add_column(:user_profiles, :bio_cooked_version, :integer)
  5216. -> 0.0005s
  5217. -- add_index(:user_profiles, [:bio_cooked_version])
  5218. -> 0.0023s
  5219. == 20140805061612 AddBioCookedVersionToUserProfile: migrated (0.0097s) ========
  5220.  
  5221. == 20140806003116 FixupBadgeIds: migrating ====================================
  5222. -- add_column(:badges, :system, :boolean, {:default=>false, :null=>false})
  5223. -> 0.0050s
  5224. == 20140806003116 FixupBadgeIds: migrated (0.0118s) ===========================
  5225.  
  5226. == 20140807033123 AddIndexOnLastSeenToUsers: migrating ========================
  5227. -- add_index(:users, [:last_seen_at])
  5228. -> 0.0026s
  5229. == 20140807033123 AddIndexOnLastSeenToUsers: migrated (0.0082s) ===============
  5230.  
  5231. == 20140808051823 CreateTopicSearchIndex: migrating ===========================
  5232. -- create_table(:topic_search_data, {:id=>false})
  5233. -> 0.0031s
  5234. -- execute("CREATE INDEX idx_search_topic ON topic_search_data USING gin (search_data)")
  5235. -> 0.0005s
  5236. == 20140808051823 CreateTopicSearchIndex: migrated (0.0092s) ==================
  5237.  
  5238. == 20140809224243 AddUserBadgeUniqueIndex: migrating ==========================
  5239. -- add_column(:user_badges, :seq, :integer, {:default=>0, :null=>false})
  5240. -> 0.0043s
  5241. -- execute("\n UPDATE user_badges ub1 SET seq = X.seq\n FROM (\n SELECT ub.id, rank() OVER (PARTITION BY user_id ORDER BY granted_at) seq\n FROM user_badges ub\n JOIN badges b ON b.id = ub.badge_id\n WHERE b.multiple_grant\n ) X\n WHERE ub1.id = X.id\n ")
  5242. -> 0.0009s
  5243. -- execute("\n DELETE FROM user_badges ub1\n WHERE ub1.id NOT IN (\n SELECT MIN(ub.id)\n FROM user_badges ub\n GROUP BY ub.user_id, ub.badge_id, ub.seq\n )\n ")
  5244. -> 0.0003s
  5245. -- add_index(:user_badges, [:badge_id, :user_id, :seq], {:unique=>true, :where=>"post_id IS NULL"})
  5246. -> 0.0024s
  5247. == 20140809224243 AddUserBadgeUniqueIndex: migrated (0.0138s) =================
  5248.  
  5249. == 20140811094300 RenameDeferedColumnsOnPostAction: migrating =================
  5250. -- rename_column(:post_actions, :defered_by_id, :deferred_by_id)
  5251. -> 0.0020s
  5252. -- rename_column(:post_actions, :defered_at, :deferred_at)
  5253. -> 0.0015s
  5254. == 20140811094300 RenameDeferedColumnsOnPostAction: migrated (0.0089s) ========
  5255.  
  5256. == 20140813175357 AddDefaultToActive: migrating ===============================
  5257. -- change_column(:users, :active, :boolean, {:default=>false, :null=>false})
  5258. -> 0.0053s
  5259. == 20140813175357 AddDefaultToActive: migrated (0.0107s) ======================
  5260.  
  5261. == 20140815183851 FixIndexOnPostActions: migrating ============================
  5262. -- execute("UPDATE post_actions SET targets_topic = false WHERE targets_topic IS NULL")
  5263. -> 0.0004s
  5264. -- change_column(:post_actions, :targets_topic, :boolean, {:default=>false, :null=>false})
  5265. -> 0.0040s
  5266. -- execute("\n DELETE FROM post_actions pa\n USING post_actions x\n WHERE pa.user_id = x.user_id AND\n pa.post_action_type_id = x.post_action_type_id AND\n pa.post_id = x.post_id AND\n pa.targets_topic = x.targets_topic AND\n pa.id < x.id AND\n pa.deleted_at IS NULL AND\n x.deleted_at IS NULL\n ")
  5267. -> 0.0005s
  5268. -- remove_index("post_actions", {:name=>"idx_unique_actions"})
  5269. -> 0.0011s
  5270. -- add_index("post_actions", ["user_id", "post_action_type_id", "post_id", "targets_topic"], {:name=>"idx_unique_actions", :unique=>true, :where=>"deleted_at IS NULL"})
  5271. -> 0.0024s
  5272. == 20140815183851 FixIndexOnPostActions: migrated (0.0140s) ===================
  5273.  
  5274. == 20140815191556 FixPostActionsIndexAgain: migrating =========================
  5275. -- remove_index("post_actions", {:name=>"idx_unique_actions"})
  5276. -> 0.0014s
  5277. -- add_index("post_actions", ["user_id", "post_action_type_id", "post_id", "targets_topic"], {:name=>"idx_unique_actions", :unique=>true, :where=>"deleted_at IS NULL AND disagreed_at IS NULL AND deferred_at IS NULL"})
  5278. -> 0.0025s
  5279. == 20140815191556 FixPostActionsIndexAgain: migrated (0.0095s) ================
  5280.  
  5281. == 20140815215618 AddNameLowerToCategories: migrating =========================
  5282. -- add_column(:categories, :name_lower, :string, {:limit=>50})
  5283. -> 0.0006s
  5284. -- execute("update categories set name_lower = lower(name)")
  5285. -> 0.0004s
  5286. -- change_column(:categories, :name_lower, :string, {:limit=>50, :null=>false})
  5287. -> 0.0006s
  5288. == 20140815215618 AddNameLowerToCategories: migrated (0.0076s) ================
  5289.  
  5290. == 20140817011612 AddExternalAvatarUrlToSingleSignOnRecord: migrating =========
  5291. -- add_column(:single_sign_on_records, :external_avatar_url, :string)
  5292. -> 0.0006s
  5293. == 20140817011612 AddExternalAvatarUrlToSingleSignOnRecord: migrated (0.0074s)
  5294.  
  5295. == 20140818023700 IndexEmailTokens: migrating =================================
  5296. -- add_index(:email_tokens, [:user_id])
  5297. -> 0.0031s
  5298. == 20140818023700 IndexEmailTokens: migrated (0.0098s) ========================
  5299.  
  5300. == 20140826234625 RenameSettingsPop3sToPop3: migrating ========================
  5301. -- execute("UPDATE site_settings SET name = replace(name, 'pop3s', 'pop3') WHERE name ILIKE 'pop3%'")
  5302. -> 0.0003s
  5303. == 20140826234625 RenameSettingsPop3sToPop3: migrated (0.0045s) ===============
  5304.  
  5305. == 20140827044811 RemoveNullableDates: migrating ==============================
  5306. -- execute("DROP VIEW badge_posts")
  5307. -> 0.0010s
  5308. -- execute("select table_name, column_name from information_schema.columns\n WHERE column_name IN ('created_at','updated_at') AND\n table_schema = 'public' AND\n is_nullable = 'YES' AND\n is_updatable = 'YES' AND\n data_type = 'timestamp without time zone'")
  5309. -> 0.0077s
  5310. -- execute("UPDATE \"users\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5311. -> 0.0004s
  5312. -- change_column(:users, :created_at, :datetime, {:null=>false})
  5313. -> 0.0006s
  5314. -- execute("UPDATE \"users\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5315. -> 0.0003s
  5316. -- change_column(:users, :updated_at, :datetime, {:null=>false})
  5317. -> 0.0005s
  5318. -- execute("UPDATE \"versions\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5319. -> 0.0003s
  5320. -- change_column(:versions, :created_at, :datetime, {:null=>false})
  5321. -> 0.0008s
  5322. -- execute("UPDATE \"versions\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5323. -> 0.0002s
  5324. -- change_column(:versions, :updated_at, :datetime, {:null=>false})
  5325. -> 0.0004s
  5326. -- execute("UPDATE \"message_bus\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5327. -> 0.0003s
  5328. -- change_column(:message_bus, :created_at, :datetime, {:null=>false})
  5329. -> 0.0007s
  5330. -- execute("UPDATE \"uploads\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5331. -> 0.0002s
  5332. -- change_column(:uploads, :created_at, :datetime, {:null=>false})
  5333. -> 0.0004s
  5334. -- execute("UPDATE \"uploads\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5335. -> 0.0002s
  5336. -- change_column(:uploads, :updated_at, :datetime, {:null=>false})
  5337. -> 0.0004s
  5338. -- execute("UPDATE \"topic_links\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5339. -> 0.0003s
  5340. -- change_column(:topic_links, :created_at, :datetime, {:null=>false})
  5341. -> 0.0005s
  5342. -- execute("UPDATE \"topic_links\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5343. -> 0.0002s
  5344. -- change_column(:topic_links, :updated_at, :datetime, {:null=>false})
  5345. -> 0.0004s
  5346. -- execute("UPDATE \"notifications\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5347. -> 0.0002s
  5348. -- change_column(:notifications, :created_at, :datetime, {:null=>false})
  5349. -> 0.0008s
  5350. -- execute("UPDATE \"notifications\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5351. -> 0.0002s
  5352. -- change_column(:notifications, :updated_at, :datetime, {:null=>false})
  5353. -> 0.0004s
  5354. -- execute("UPDATE \"post_replies\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5355. -> 0.0003s
  5356. -- change_column(:post_replies, :created_at, :datetime, {:null=>false})
  5357. -> 0.0005s
  5358. -- execute("UPDATE \"post_replies\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5359. -> 0.0002s
  5360. -- change_column(:post_replies, :updated_at, :datetime, {:null=>false})
  5361. -> 0.0004s
  5362. -- execute("UPDATE \"incoming_links\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5363. -> 0.0003s
  5364. -- change_column(:incoming_links, :created_at, :datetime, {:null=>false})
  5365. -> 0.0008s
  5366. -- execute("UPDATE \"posts\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5367. -> 0.0003s
  5368. -- change_column(:posts, :created_at, :datetime, {:null=>false})
  5369. -> 0.0017s
  5370. -- execute("UPDATE \"posts\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5371. -> 0.0003s
  5372. -- change_column(:posts, :updated_at, :datetime, {:null=>false})
  5373. -> 0.0005s
  5374. -- execute("UPDATE \"site_settings\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5375. -> 0.0002s
  5376. -- change_column(:site_settings, :created_at, :datetime, {:null=>false})
  5377. -> 0.0004s
  5378. -- execute("UPDATE \"site_settings\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5379. -> 0.0002s
  5380. -- change_column(:site_settings, :updated_at, :datetime, {:null=>false})
  5381. -> 0.0005s
  5382. -- execute("UPDATE \"user_open_ids\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5383. -> 0.0003s
  5384. -- change_column(:user_open_ids, :created_at, :datetime, {:null=>false})
  5385. -> 0.0004s
  5386. -- execute("UPDATE \"user_open_ids\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5387. -> 0.0002s
  5388. -- change_column(:user_open_ids, :updated_at, :datetime, {:null=>false})
  5389. -> 0.0004s
  5390. -- execute("UPDATE \"category_featured_topics\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5391. -> 0.0004s
  5392. -- change_column(:category_featured_topics, :created_at, :datetime, {:null=>false})
  5393. -> 0.0004s
  5394. -- execute("UPDATE \"category_featured_topics\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5395. -> 0.0002s
  5396. -- change_column(:category_featured_topics, :updated_at, :datetime, {:null=>false})
  5397. -> 0.0004s
  5398. -- execute("UPDATE \"categories\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5399. -> 0.0003s
  5400. -- change_column(:categories, :created_at, :datetime, {:null=>false})
  5401. -> 0.0005s
  5402. -- execute("UPDATE \"categories\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5403. -> 0.0002s
  5404. -- change_column(:categories, :updated_at, :datetime, {:null=>false})
  5405. -> 0.0005s
  5406. -- execute("UPDATE \"topics\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5407. -> 0.0003s
  5408. -- change_column(:topics, :created_at, :datetime, {:null=>false})
  5409. -> 0.0005s
  5410. -- execute("UPDATE \"topics\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5411. -> 0.0003s
  5412. -- change_column(:topics, :updated_at, :datetime, {:null=>false})
  5413. -> 0.0005s
  5414. -- execute("UPDATE \"user_actions\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5415. -> 0.0002s
  5416. -- change_column(:user_actions, :created_at, :datetime, {:null=>false})
  5417. -> 0.0005s
  5418. -- execute("UPDATE \"user_actions\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5419. -> 0.0002s
  5420. -- change_column(:user_actions, :updated_at, :datetime, {:null=>false})
  5421. -> 0.0004s
  5422. -- execute("UPDATE \"post_actions\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5423. -> 0.0003s
  5424. -- change_column(:post_actions, :created_at, :datetime, {:null=>false})
  5425. -> 0.0004s
  5426. -- execute("UPDATE \"post_actions\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5427. -> 0.0002s
  5428. -- change_column(:post_actions, :updated_at, :datetime, {:null=>false})
  5429. -> 0.0004s
  5430. -- execute("UPDATE \"post_action_types\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5431. -> 0.0002s
  5432. -- change_column(:post_action_types, :created_at, :datetime, {:null=>false})
  5433. -> 0.0004s
  5434. -- execute("UPDATE \"post_action_types\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5435. -> 0.0002s
  5436. -- change_column(:post_action_types, :updated_at, :datetime, {:null=>false})
  5437. -> 0.0004s
  5438. -- execute("UPDATE \"topic_link_clicks\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5439. -> 0.0002s
  5440. -- change_column(:topic_link_clicks, :created_at, :datetime, {:null=>false})
  5441. -> 0.0004s
  5442. -- execute("UPDATE \"topic_link_clicks\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5443. -> 0.0002s
  5444. -- change_column(:topic_link_clicks, :updated_at, :datetime, {:null=>false})
  5445. -> 0.0004s
  5446. -- execute("UPDATE \"category_featured_users\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5447. -> 0.0003s
  5448. -- change_column(:category_featured_users, :created_at, :datetime, {:null=>false})
  5449. -> 0.0004s
  5450. -- execute("UPDATE \"category_featured_users\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5451. -> 0.0002s
  5452. -- change_column(:category_featured_users, :updated_at, :datetime, {:null=>false})
  5453. -> 0.0004s
  5454. -- execute("UPDATE \"twitter_user_infos\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5455. -> 0.0004s
  5456. -- change_column(:twitter_user_infos, :created_at, :datetime, {:null=>false})
  5457. -> 0.0004s
  5458. -- execute("UPDATE \"twitter_user_infos\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5459. -> 0.0002s
  5460. -- change_column(:twitter_user_infos, :updated_at, :datetime, {:null=>false})
  5461. -> 0.0004s
  5462. -- execute("UPDATE \"topic_allowed_users\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5463. -> 0.0004s
  5464. -- change_column(:topic_allowed_users, :created_at, :datetime, {:null=>false})
  5465. -> 0.0004s
  5466. -- execute("UPDATE \"topic_allowed_users\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5467. -> 0.0002s
  5468. -- change_column(:topic_allowed_users, :updated_at, :datetime, {:null=>false})
  5469. -> 0.0004s
  5470. -- execute("UPDATE \"email_logs\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5471. -> 0.0005s
  5472. -- change_column(:email_logs, :created_at, :datetime, {:null=>false})
  5473. -> 0.0014s
  5474. -- execute("UPDATE \"email_logs\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5475. -> 0.0002s
  5476. -- change_column(:email_logs, :updated_at, :datetime, {:null=>false})
  5477. -> 0.0005s
  5478. -- execute("UPDATE \"facebook_user_infos\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5479. -> 0.0005s
  5480. -- change_column(:facebook_user_infos, :created_at, :datetime, {:null=>false})
  5481. -> 0.0004s
  5482. -- execute("UPDATE \"facebook_user_infos\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5483. -> 0.0002s
  5484. -- change_column(:facebook_user_infos, :updated_at, :datetime, {:null=>false})
  5485. -> 0.0004s
  5486. -- execute("UPDATE \"topic_invites\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5487. -> 0.0004s
  5488. -- change_column(:topic_invites, :created_at, :datetime, {:null=>false})
  5489. -> 0.0004s
  5490. -- execute("UPDATE \"topic_invites\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5491. -> 0.0002s
  5492. -- change_column(:topic_invites, :updated_at, :datetime, {:null=>false})
  5493. -> 0.0004s
  5494. -- execute("UPDATE \"email_tokens\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5495. -> 0.0003s
  5496. -- change_column(:email_tokens, :created_at, :datetime, {:null=>false})
  5497. -> 0.0004s
  5498. -- execute("UPDATE \"email_tokens\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5499. -> 0.0002s
  5500. -- change_column(:email_tokens, :updated_at, :datetime, {:null=>false})
  5501. -> 0.0004s
  5502. -- execute("UPDATE \"drafts\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5503. -> 0.0003s
  5504. -- change_column(:drafts, :created_at, :datetime, {:null=>false})
  5505. -> 0.0004s
  5506. -- execute("UPDATE \"drafts\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5507. -> 0.0002s
  5508. -- change_column(:drafts, :updated_at, :datetime, {:null=>false})
  5509. -> 0.0004s
  5510. -- execute("UPDATE \"invites\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5511. -> 0.0004s
  5512. -- change_column(:invites, :created_at, :datetime, {:null=>false})
  5513. -> 0.0005s
  5514. -- execute("UPDATE \"invites\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5515. -> 0.0002s
  5516. -- change_column(:invites, :updated_at, :datetime, {:null=>false})
  5517. -> 0.0004s
  5518. -- execute("UPDATE \"site_customizations\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5519. -> 0.0004s
  5520. -- change_column(:site_customizations, :created_at, :datetime, {:null=>false})
  5521. -> 0.0004s
  5522. -- execute("UPDATE \"site_customizations\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5523. -> 0.0002s
  5524. -- change_column(:site_customizations, :updated_at, :datetime, {:null=>false})
  5525. -> 0.0004s
  5526. -- execute("UPDATE \"github_user_infos\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5527. -> 0.0004s
  5528. -- change_column(:github_user_infos, :created_at, :datetime, {:null=>false})
  5529. -> 0.0004s
  5530. -- execute("UPDATE \"github_user_infos\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5531. -> 0.0002s
  5532. -- change_column(:github_user_infos, :updated_at, :datetime, {:null=>false})
  5533. -> 0.0004s
  5534. -- execute("UPDATE \"site_contents\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5535. -> 0.0003s
  5536. -- change_column(:site_contents, :created_at, :datetime, {:null=>false})
  5537. -> 0.0004s
  5538. -- execute("UPDATE \"site_contents\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5539. -> 0.0002s
  5540. -- change_column(:site_contents, :updated_at, :datetime, {:null=>false})
  5541. -> 0.0004s
  5542. -- execute("UPDATE \"group_users\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5543. -> 0.0003s
  5544. -- change_column(:group_users, :created_at, :datetime, {:null=>false})
  5545. -> 0.0004s
  5546. -- execute("UPDATE \"group_users\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5547. -> 0.0002s
  5548. -- change_column(:group_users, :updated_at, :datetime, {:null=>false})
  5549. -> 0.0004s
  5550. -- execute("UPDATE \"category_groups\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5551. -> 0.0003s
  5552. -- change_column(:category_groups, :created_at, :datetime, {:null=>false})
  5553. -> 0.0004s
  5554. -- execute("UPDATE \"category_groups\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5555. -> 0.0002s
  5556. -- change_column(:category_groups, :updated_at, :datetime, {:null=>false})
  5557. -> 0.0004s
  5558. -- execute("UPDATE \"user_histories\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5559. -> 0.0004s
  5560. -- change_column(:user_histories, :created_at, :datetime, {:null=>false})
  5561. -> 0.0004s
  5562. -- execute("UPDATE \"user_histories\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5563. -> 0.0002s
  5564. -- change_column(:user_histories, :updated_at, :datetime, {:null=>false})
  5565. -> 0.0004s
  5566. -- execute("UPDATE \"groups\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5567. -> 0.0002s
  5568. -- change_column(:groups, :created_at, :datetime, {:null=>false})
  5569. -> 0.0004s
  5570. -- execute("UPDATE \"groups\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5571. -> 0.0002s
  5572. -- change_column(:groups, :updated_at, :datetime, {:null=>false})
  5573. -> 0.0004s
  5574. -- execute("UPDATE \"screened_emails\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5575. -> 0.0004s
  5576. -- change_column(:screened_emails, :created_at, :datetime, {:null=>false})
  5577. -> 0.0004s
  5578. -- execute("UPDATE \"screened_emails\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5579. -> 0.0002s
  5580. -- change_column(:screened_emails, :updated_at, :datetime, {:null=>false})
  5581. -> 0.0004s
  5582. -- execute("UPDATE \"oauth2_user_infos\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5583. -> 0.0004s
  5584. -- change_column(:oauth2_user_infos, :created_at, :datetime, {:null=>false})
  5585. -> 0.0004s
  5586. -- execute("UPDATE \"oauth2_user_infos\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5587. -> 0.0002s
  5588. -- change_column(:oauth2_user_infos, :updated_at, :datetime, {:null=>false})
  5589. -> 0.0004s
  5590. -- execute("UPDATE \"screened_urls\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5591. -> 0.0004s
  5592. -- change_column(:screened_urls, :created_at, :datetime, {:null=>false})
  5593. -> 0.0004s
  5594. -- execute("UPDATE \"screened_urls\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5595. -> 0.0002s
  5596. -- change_column(:screened_urls, :updated_at, :datetime, {:null=>false})
  5597. -> 0.0004s
  5598. -- execute("UPDATE \"post_details\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5599. -> 0.0003s
  5600. -- change_column(:post_details, :created_at, :datetime, {:null=>false})
  5601. -> 0.0004s
  5602. -- execute("UPDATE \"post_details\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5603. -> 0.0002s
  5604. -- change_column(:post_details, :updated_at, :datetime, {:null=>false})
  5605. -> 0.0004s
  5606. -- execute("UPDATE \"screened_ip_addresses\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5607. -> 0.0004s
  5608. -- change_column(:screened_ip_addresses, :created_at, :datetime, {:null=>false})
  5609. -> 0.0004s
  5610. -- execute("UPDATE \"screened_ip_addresses\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5611. -> 0.0002s
  5612. -- change_column(:screened_ip_addresses, :updated_at, :datetime, {:null=>false})
  5613. -> 0.0004s
  5614. -- execute("UPDATE \"api_keys\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5615. -> 0.0004s
  5616. -- change_column(:api_keys, :created_at, :datetime, {:null=>false})
  5617. -> 0.0005s
  5618. -- execute("UPDATE \"api_keys\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5619. -> 0.0002s
  5620. -- change_column(:api_keys, :updated_at, :datetime, {:null=>false})
  5621. -> 0.0004s
  5622. -- execute("UPDATE \"post_revisions\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5623. -> 0.0002s
  5624. -- change_column(:post_revisions, :created_at, :datetime, {:null=>false})
  5625. -> 0.0004s
  5626. -- execute("UPDATE \"post_revisions\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5627. -> 0.0003s
  5628. -- change_column(:post_revisions, :updated_at, :datetime, {:null=>false})
  5629. -> 0.0004s
  5630. -- execute("UPDATE \"topic_embeds\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5631. -> 0.0003s
  5632. -- change_column(:topic_embeds, :created_at, :datetime, {:null=>false})
  5633. -> 0.0004s
  5634. -- execute("UPDATE \"topic_embeds\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5635. -> 0.0002s
  5636. -- change_column(:topic_embeds, :updated_at, :datetime, {:null=>false})
  5637. -> 0.0004s
  5638. -- execute("UPDATE \"single_sign_on_records\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5639. -> 0.0004s
  5640. -- change_column(:single_sign_on_records, :created_at, :datetime, {:null=>false})
  5641. -> 0.0004s
  5642. -- execute("UPDATE \"single_sign_on_records\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5643. -> 0.0002s
  5644. -- change_column(:single_sign_on_records, :updated_at, :datetime, {:null=>false})
  5645. -> 0.0004s
  5646. -- execute("UPDATE \"badge_types\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5647. -> 0.0003s
  5648. -- change_column(:badge_types, :created_at, :datetime, {:null=>false})
  5649. -> 0.0004s
  5650. -- execute("UPDATE \"badge_types\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5651. -> 0.0002s
  5652. -- change_column(:badge_types, :updated_at, :datetime, {:null=>false})
  5653. -> 0.0004s
  5654. -- execute("UPDATE \"color_schemes\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5655. -> 0.0002s
  5656. -- change_column(:color_schemes, :created_at, :datetime, {:null=>false})
  5657. -> 0.0004s
  5658. -- execute("UPDATE \"color_schemes\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5659. -> 0.0002s
  5660. -- change_column(:color_schemes, :updated_at, :datetime, {:null=>false})
  5661. -> 0.0004s
  5662. -- execute("UPDATE \"color_scheme_colors\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5663. -> 0.0002s
  5664. -- change_column(:color_scheme_colors, :created_at, :datetime, {:null=>false})
  5665. -> 0.0004s
  5666. -- execute("UPDATE \"color_scheme_colors\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5667. -> 0.0002s
  5668. -- change_column(:color_scheme_colors, :updated_at, :datetime, {:null=>false})
  5669. -> 0.0004s
  5670. -- execute("UPDATE \"user_custom_fields\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5671. -> 0.0003s
  5672. -- change_column(:user_custom_fields, :created_at, :datetime, {:null=>false})
  5673. -> 0.0004s
  5674. -- execute("UPDATE \"user_custom_fields\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5675. -> 0.0002s
  5676. -- change_column(:user_custom_fields, :updated_at, :datetime, {:null=>false})
  5677. -> 0.0004s
  5678. -- execute("UPDATE \"category_custom_fields\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5679. -> 0.0003s
  5680. -- change_column(:category_custom_fields, :created_at, :datetime, {:null=>false})
  5681. -> 0.0004s
  5682. -- execute("UPDATE \"category_custom_fields\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5683. -> 0.0002s
  5684. -- change_column(:category_custom_fields, :updated_at, :datetime, {:null=>false})
  5685. -> 0.0004s
  5686. -- execute("UPDATE \"group_custom_fields\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5687. -> 0.0003s
  5688. -- change_column(:group_custom_fields, :created_at, :datetime, {:null=>false})
  5689. -> 0.0005s
  5690. -- execute("UPDATE \"group_custom_fields\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5691. -> 0.0002s
  5692. -- change_column(:group_custom_fields, :updated_at, :datetime, {:null=>false})
  5693. -> 0.0004s
  5694. -- execute("UPDATE \"post_custom_fields\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5695. -> 0.0003s
  5696. -- change_column(:post_custom_fields, :created_at, :datetime, {:null=>false})
  5697. -> 0.0004s
  5698. -- execute("UPDATE \"post_custom_fields\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5699. -> 0.0002s
  5700. -- change_column(:post_custom_fields, :updated_at, :datetime, {:null=>false})
  5701. -> 0.0004s
  5702. -- execute("UPDATE \"topic_custom_fields\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5703. -> 0.0003s
  5704. -- change_column(:topic_custom_fields, :created_at, :datetime, {:null=>false})
  5705. -> 0.0004s
  5706. -- execute("UPDATE \"topic_custom_fields\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5707. -> 0.0002s
  5708. -- change_column(:topic_custom_fields, :updated_at, :datetime, {:null=>false})
  5709. -> 0.0004s
  5710. -- execute("UPDATE \"invited_groups\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5711. -> 0.0003s
  5712. -- change_column(:invited_groups, :created_at, :datetime, {:null=>false})
  5713. -> 0.0004s
  5714. -- execute("UPDATE \"invited_groups\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5715. -> 0.0002s
  5716. -- change_column(:invited_groups, :updated_at, :datetime, {:null=>false})
  5717. -> 0.0004s
  5718. -- execute("UPDATE \"badges\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5719. -> 0.0002s
  5720. -- change_column(:badges, :created_at, :datetime, {:null=>false})
  5721. -> 0.0004s
  5722. -- execute("UPDATE \"badges\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5723. -> 0.0002s
  5724. -- change_column(:badges, :updated_at, :datetime, {:null=>false})
  5725. -> 0.0004s
  5726. -- execute("UPDATE \"google_user_infos\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5727. -> 0.0004s
  5728. -- change_column(:google_user_infos, :created_at, :datetime, {:null=>false})
  5729. -> 0.0004s
  5730. -- execute("UPDATE \"google_user_infos\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5731. -> 0.0002s
  5732. -- change_column(:google_user_infos, :updated_at, :datetime, {:null=>false})
  5733. -> 0.0004s
  5734. -- execute("UPDATE \"user_avatars\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5735. -> 0.0002s
  5736. -- change_column(:user_avatars, :created_at, :datetime, {:null=>false})
  5737. -> 0.0004s
  5738. -- execute("UPDATE \"user_avatars\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5739. -> 0.0002s
  5740. -- change_column(:user_avatars, :updated_at, :datetime, {:null=>false})
  5741. -> 0.0005s
  5742. -- execute("UPDATE \"quoted_posts\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5743. -> 0.0002s
  5744. -- change_column(:quoted_posts, :created_at, :datetime, {:null=>false})
  5745. -> 0.0004s
  5746. -- execute("UPDATE \"quoted_posts\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5747. -> 0.0002s
  5748. -- change_column(:quoted_posts, :updated_at, :datetime, {:null=>false})
  5749. -> 0.0004s
  5750. -- execute("UPDATE \"badge_groupings\" SET created_at = CURRENT_TIMESTAMP WHERE created_at IS NULL")
  5751. -> 0.0003s
  5752. -- change_column(:badge_groupings, :created_at, :datetime, {:null=>false})
  5753. -> 0.0004s
  5754. -- execute("UPDATE \"badge_groupings\" SET updated_at = CURRENT_TIMESTAMP WHERE updated_at IS NULL")
  5755. -> 0.0002s
  5756. -- change_column(:badge_groupings, :updated_at, :datetime, {:null=>false})
  5757. -> 0.0004s
  5758. -- execute("CREATE VIEW badge_posts AS\n SELECT p.*\n FROM posts p\n JOIN topics t ON t.id = p.topic_id\n JOIN categories c ON c.id = t.category_id\n WHERE c.allow_badges AND\n p.deleted_at IS NULL AND\n t.deleted_at IS NULL AND\n NOT c.read_restricted AND\n t.visible")
  5759. -> 0.0038s
  5760. == 20140827044811 RemoveNullableDates: migrated (0.1092s) =====================
  5761.  
  5762. == 20140828172407 CreatePermalinks: migrating =================================
  5763. -- create_table(:permalinks)
  5764. -> 0.0037s
  5765. -- add_index(:permalinks, :url)
  5766. -> 0.0023s
  5767. == 20140828172407 CreatePermalinks: migrated (0.0123s) ========================
  5768.  
  5769. == 20140828200231 MakeUrlColBiggerInPermalinks: migrating =====================
  5770. -- remove_index(:permalinks, :url)
  5771. -> 0.0013s
  5772. -- change_column(:permalinks, :url, :string, {:limit=>1000, :null=>false})
  5773. -> 0.0033s
  5774. -- add_index(:permalinks, :url, {:unique=>true})
  5775. -> 0.0023s
  5776. == 20140828200231 MakeUrlColBiggerInPermalinks: migrated (0.0128s) ============
  5777.  
  5778. == 20140831191346 RemoveCategoryGroupsOrphanedByRemovingCategoryOrGroup: migrating
  5779. -- execute("DELETE FROM category_groups\n WHERE group_id NOT IN (\n SELECT groups.id FROM groups)\n OR category_id NOT IN (\n SELECT categories.id FROM categories)")
  5780. -> 0.0006s
  5781. == 20140831191346 RemoveCategoryGroupsOrphanedByRemovingCategoryOrGroup: migrated (0.0050s)
  5782.  
  5783. == 20140904055702 CorrectPostActionIndex: migrating ===========================
  5784. -- execute("DELETE FROM post_actions pa\n USING post_actions pa2\n WHERE pa.post_action_type_id IN (3,4,7,8) AND\n pa2.post_action_type_id IN (3,4,7,8) AND\n pa.deleted_at IS NULL AND\n pa2.deleted_at IS NULL AND\n pa.disagreed_at IS NULL AND\n pa2.disagreed_at IS NULL AND\n pa.deferred_at IS NULL AND\n pa2.deferred_at IS NULL AND\n pa.id < pa2.id AND\n pa.user_id = pa2.user_id AND\n pa.post_id = pa2.post_id AND\n pa.targets_topic = pa2.targets_topic")
  5785. -> 0.0006s
  5786.  
  5787. >> DELETED 0 invalid rows from post_actions
  5788.  
  5789. -- add_index(:post_actions, ["user_id", "post_id", "targets_topic"], {:name=>"idx_unique_flags", :unique=>true, :where=>"deleted_at IS NULL AND\n disagreed_at IS NULL AND\n deferred_at IS NULL AND\n post_action_type_id IN (3,4,7,8)"})
  5790. -> 0.0029s
  5791. == 20140904055702 CorrectPostActionIndex: migrated (0.0077s) ==================
  5792.  
  5793. == 20140904160015 AddViaEmailToPosts: migrating ===============================
  5794. -- add_column(:posts, :via_email, :boolean, {:default=>false, :null=>false})
  5795. -> 0.0068s
  5796. == 20140904160015 AddViaEmailToPosts: migrated (0.0128s) ======================
  5797.  
  5798. == 20140904215629 RenameTrustLevelSettings: migrating =========================
  5799. -- execute("UPDATE site_settings\n SET name = regexp_replace(name, '^basic_', 'tl1_')")
  5800. -> 0.0004s
  5801. -- execute("UPDATE site_settings\n SET name = regexp_replace(name, '^regular_', 'tl2_')")
  5802. -> 0.0002s
  5803. -- execute("UPDATE site_settings\n SET name = regexp_replace(name, '^leader_', 'tl3_')")
  5804. -> 0.0002s
  5805. == 20140904215629 RenameTrustLevelSettings: migrated (0.0048s) ================
  5806.  
  5807. == 20140905055251 RenameTrustLevelBadges: migrating ===========================
  5808. -- execute("UPDATE badges SET name = 'Member' WHERE name = 'Regular User' AND id = 2")
  5809. -> 0.0004s
  5810. -- execute("UPDATE badges SET name = 'Regular' WHERE name = 'Leader' AND id = 3")
  5811. -> 0.0002s
  5812. -- execute("UPDATE badges SET name = 'Leader' WHERE name = 'Elder' AND id = 4")
  5813. -> 0.0002s
  5814. == 20140905055251 RenameTrustLevelBadges: migrated (0.0052s) ==================
  5815.  
  5816. == 20140905171733 CreateWarnings: migrating ===================================
  5817. -- create_table(:warnings)
  5818. -> 0.0029s
  5819. -- add_index(:warnings, :user_id)
  5820. -> 0.0028s
  5821. -- add_index(:warnings, :topic_id, {:unique=>true})
  5822. -> 0.0025s
  5823. == 20140905171733 CreateWarnings: migrated (0.0139s) ==========================
  5824.  
  5825. == 20140908165716 MigrateWarningTopicSubtypes: migrating ======================
  5826. -- execute("UPDATE topics AS t\n SET subtype = 'moderator_warning'\n FROM warnings AS w\n WHERE w.topic_id = t.id")
  5827. -> 0.0009s
  5828. == 20140908165716 MigrateWarningTopicSubtypes: migrated (0.0068s) =============
  5829.  
  5830. == 20140908191429 TrimProfileLength: migrating ================================
  5831. -- execute("UPDATE user_profiles SET bio_raw=LEFT(bio_raw, 3000)")
  5832. -> 0.0005s
  5833. == 20140908191429 TrimProfileLength: migrated (0.0062s) =======================
  5834.  
  5835. == 20140910130155 CreateTopicUserIndex: migrating =============================
  5836. -- add_index(:topic_users, [:user_id, :topic_id], {:unique=>true})
  5837. -> 0.0028s
  5838. == 20140910130155 CreateTopicUserIndex: migrated (0.0098s) ====================
  5839.  
  5840. == 20140911065449 PrivateMessagesHaveNoCategoryId: migrating ==================
  5841. -- execute("UPDATE topics SET category_id = NULL WHERE category_id IS NOT NULL AND archetype = 'private_message'")
  5842. -> 0.0004s
  5843. -- execute("ALTER TABLE topics ADD CONSTRAINT pm_has_no_category CHECK (category_id IS NULL OR archetype <> 'private_message')")
  5844. -> 0.0006s
  5845. == 20140911065449 PrivateMessagesHaveNoCategoryId: migrated (0.0074s) =========
  5846.  
  5847. == 20140913192733 AddTrustLevelLockedColumn: migrating ========================
  5848. -- add_column(:users, :trust_level_locked, :boolean, {:default=>false, :null=>false})
  5849. -> 0.0101s
  5850. -- execute(" UPDATE users\n SET trust_level_locked = 't'\n WHERE trust_level = 4\n")
  5851. -> 0.0005s
  5852. == 20140913192733 AddTrustLevelLockedColumn: migrated (0.0171s) ===============
  5853.  
  5854. == 20140923042349 AddRetainHoursToUploads: migrating ==========================
  5855. -- add_column(:uploads, :retain_hours, :integer)
  5856. -> 0.0005s
  5857. == 20140923042349 AddRetainHoursToUploads: migrated (0.0048s) =================
  5858.  
  5859. == 20140924192418 RenameContentType: migrating ================================
  5860. -- rename_column(:site_contents, :content_type, :text_type)
  5861. -> 0.0017s
  5862. -- rename_column(:site_contents, :content, :value)
  5863. -> 0.0011s
  5864. -- rename_table(:site_contents, :site_texts)
  5865. -> 0.0036s
  5866. == 20140924192418 RenameContentType: migrated (0.0107s) =======================
  5867.  
  5868. == 20140925173220 CreateUserFields: migrating =================================
  5869. -- create_table(:user_fields)
  5870. -> 0.0046s
  5871. == 20140925173220 CreateUserFields: migrated (0.0105s) ========================
  5872.  
  5873. == 20140929181930 AddEditableToUserFields: migrating ==========================
  5874. -- add_column(:user_fields, :editable, :boolean, {:default=>false, :null=>false})
  5875. -> 0.0039s
  5876. == 20140929181930 AddEditableToUserFields: migrated (0.0090s) =================
  5877.  
  5878. == 20140929204155 MigrateTosSetting: migrating ================================
  5879. -- execute("SELECT * FROM site_settings WHERE name = 'tos_accept_required' AND value = 't'")
  5880. -> 0.0002s
  5881. == 20140929204155 MigrateTosSetting: migrated (0.0039s) =======================
  5882.  
  5883. == 20141001101041 AddPostIdToUserHistories: migrating =========================
  5884. -- add_column(:user_histories, :post_id, :integer)
  5885. -> 0.0005s
  5886. == 20141001101041 AddPostIdToUserHistories: migrated (0.0045s) ================
  5887.  
  5888. == 20141002181613 AddDescriptionToUserFields: migrating =======================
  5889. -- add_column(:user_fields, :description, :string, {:null=>true})
  5890. -> 0.0006s
  5891. -- execute("UPDATE user_fields SET description=name")
  5892. -> 0.0003s
  5893. -- change_column(:user_fields, :description, :string, {:null=>false})
  5894. -> 0.0005s
  5895. == 20141002181613 AddDescriptionToUserFields: migrated (0.0068s) ==============
  5896.  
  5897. == 20141007224814 AddBadgeGrantedTitleToUserProfile: migrating ================
  5898. -- add_column(:user_profiles, :badge_granted_title, :boolean, {:default=>false})
  5899. -> 0.0044s
  5900. -- execute("UPDATE user_profiles SET badge_granted_title = true\n WHERE EXISTS (\n SELECT 1 FROM users WHERE users.id = user_id AND title IN ('Leader', 'Regular')\n )")
  5901. -> 0.0008s
  5902. -- execute("UPDATE user_profiles SET badge_granted_title = true\n WHERE EXISTS (\n SELECT 1 FROM users WHERE users.id = user_id AND title IN (SELECT name FROM badges WHERE allow_title)\n )")
  5903. -> 0.0005s
  5904. == 20141007224814 AddBadgeGrantedTitleToUserProfile: migrated (0.0111s) =======
  5905.  
  5906. == 20141008152953 AddExernalUrlToPermalinks: migrating ========================
  5907. -- add_column(:permalinks, :external_url, :string, {:limit=>1000})
  5908. -> 0.0006s
  5909. == 20141008152953 AddExernalUrlToPermalinks: migrated (0.0064s) ===============
  5910.  
  5911. == 20141008181228 AddRequiredSignupToUserFields: migrating ====================
  5912. -- add_column(:user_fields, :required, :boolean, {:default=>true, :null=>false})
  5913. -> 0.0037s
  5914. == 20141008181228 AddRequiredSignupToUserFields: migrated (0.0096s) ===========
  5915.  
  5916. == 20141008192525 AddAutoCloseBasedOnLastPostAndAutoCloseHoursToTopics: migrating
  5917. -- add_column(:topics, :auto_close_based_on_last_post, :boolean, {:default=>false})
  5918. -> 0.0118s
  5919. -- add_column(:topics, :auto_close_hours, :float)
  5920. -> 0.0005s
  5921. == 20141008192525 AddAutoCloseBasedOnLastPostAndAutoCloseHoursToTopics: migrated (0.0184s)
  5922.  
  5923. == 20141008192526 AddAutoCloseBasedOnLastPostToCategories: migrating ==========
  5924. -- add_column(:categories, :auto_close_based_on_last_post, :boolean, {:default=>false})
  5925. -> 0.0074s
  5926. == 20141008192526 AddAutoCloseBasedOnLastPostToCategories: migrated (0.0143s) =
  5927.  
  5928. == 20141014032859 AddHiddenToPostRevision: migrating ==========================
  5929. -- add_column(:post_revisions, :hidden, :boolean, {:null=>false, :default=>false})
  5930. -> 0.0050s
  5931. == 20141014032859 AddHiddenToPostRevision: migrated (0.0111s) =================
  5932.  
  5933. == 20141014191645 FixTosName: migrating =======================================
  5934. -- execute("UPDATE user_fields SET name = 'Terms of Service' WHERE name = 'I have read and accept the <a href=\"/tos\" target=\"_blank\">Terms of Service</a>.'")
  5935. -> 0.0004s
  5936. == 20141014191645 FixTosName: migrated (0.0059s) ==============================
  5937.  
  5938. == 20141015060145 AddRawEmailToPosts: migrating ===============================
  5939. -- add_column(:posts, :raw_email, :text)
  5940. -> 0.0007s
  5941. == 20141015060145 AddRawEmailToPosts: migrated (0.0054s) ======================
  5942.  
  5943. == 20141016183307 AddExpansionBackgroundToUserProfiles: migrating =============
  5944. -- add_column(:user_profiles, :expansion_background, :string, {:limit=>255})
  5945. -> 0.0005s
  5946. == 20141016183307 AddExpansionBackgroundToUserProfiles: migrated (0.0048s) ====
  5947.  
  5948. == 20141020153415 AddPublicVersionToPosts: migrating ==========================
  5949. -- add_column(:posts, :public_version, :integer, {:null=>false, :default=>1})
  5950. -> 0.0082s
  5951. -- execute(" UPDATE posts\n SET public_version = 1 + (SELECT COUNT(*) FROM post_revisions pr WHERE post_id = posts.id AND pr.hidden = 'f')\n WHERE public_version <> 1 + (SELECT COUNT(*) FROM post_revisions pr WHERE post_id = posts.id AND pr.hidden = 'f')\n")
  5952. -> 0.0009s
  5953. == 20141020153415 AddPublicVersionToPosts: migrated (0.0152s) =================
  5954.  
  5955. == 20141020154935 RenameExpansionToCard: migrating ============================
  5956. -- rename_column(:user_profiles, :expansion_background, :card_background)
  5957. -> 0.0018s
  5958. == 20141020154935 RenameExpansionToCard: migrated (0.0071s) ===================
  5959.  
  5960. == 20141020164816 AddImageToBadges: migrating =================================
  5961. -- add_column(:badges, :image, :string, {:limit=>255})
  5962. -> 0.0006s
  5963. == 20141020164816 AddImageToBadges: migrated (0.0058s) ========================
  5964.  
  5965. == 20141020174120 AddCardImageToUserProfiles: migrating =======================
  5966. -- add_column(:user_profiles, :card_image_badge_id, :integer)
  5967. -> 0.0007s
  5968. == 20141020174120 AddCardImageToUserProfiles: migrated (0.0056s) ==============
  5969.  
  5970. == 20141030222425 RenameSeenPostCount: migrating ==============================
  5971. -- rename_column(:topic_users, :seen_post_count, :highest_seen_post_number)
  5972. -> 0.0020s
  5973. == 20141030222425 RenameSeenPostCount: migrated (0.0072s) =====================
  5974.  
  5975. == 20141110150304 AddFooterToSiteCustomization: migrating =====================
  5976. -- add_column(:site_customizations, :footer, :text)
  5977. -> 0.0006s
  5978. -- add_column(:site_customizations, :mobile_footer, :text)
  5979. -> 0.0003s
  5980. == 20141110150304 AddFooterToSiteCustomization: migrated (0.0063s) ============
  5981.  
  5982. == 20141118011735 CorrectUsernameSearch: migrating ============================
  5983. -- execute("update user_search_data\n set search_data = TO_TSVECTOR('simple', username_lower || ' ' || lower(name))\n from users\n where users.id = user_search_data.user_id")
  5984. -> 0.0007s
  5985. == 20141118011735 CorrectUsernameSearch: migrated (0.0068s) ===================
  5986.  
  5987. == 20141120035016 AddAllowedIpsToApiKeys: migrating ===========================
  5988. -- change_table(:api_keys)
  5989. -> 0.0017s
  5990. == 20141120035016 AddAllowedIpsToApiKeys: migrated (0.0073s) ==================
  5991.  
  5992. == 20141120043401 AddHiddenToApiKeys: migrating ===============================
  5993. -- change_table(:api_keys)
  5994. -> 0.0055s
  5995. == 20141120043401 AddHiddenToApiKeys: migrated (0.0115s) ======================
  5996.  
  5997. == 20141211114517 FixEmojiPath: migrating =====================================
  5998. -- execute(" UPDATE posts\n SET cooked = REPLACE(cooked, '/plugins/emoji/images/', '/plugins/emoji/images/emoji_one/')\n WHERE cooked LIKE '%/plugins/emoji/images/%'\n")
  5999. -> 0.0007s
  6000. == 20141211114517 FixEmojiPath: migrated (0.0055s) ============================
  6001.  
  6002. == 20141216112341 ResolveDuplicateGroupNames: migrating =======================
  6003. == 20141216112341 ResolveDuplicateGroupNames: migrated (0.0245s) ==============
  6004.  
  6005. == 20141222051622 RemoveOverrideDefaultStylesFromSiteCustomizations: migrating
  6006. -- remove_column(:site_customizations, :override_default_style)
  6007. -> 0.0005s
  6008. == 20141222051622 RemoveOverrideDefaultStylesFromSiteCustomizations: migrated (0.0051s)
  6009.  
  6010. == 20141222224220 FixEmojiPathTake2: migrating ================================
  6011. -- execute(" UPDATE posts\n SET cooked = REPLACE(cooked, '/plugins/emoji/images/', '/images/emoji/')\n WHERE cooked LIKE '%/plugins/emoji/images/%'\n")
  6012. -> 0.0003s
  6013. == 20141222224220 FixEmojiPathTake2: migrated (0.0046s) =======================
  6014.  
  6015. == 20141222230707 AmendSiteCustomization: migrating ===========================
  6016. -- remove_column(:site_customizations, :position)
  6017. -> 0.0004s
  6018. == 20141222230707 AmendSiteCustomization: migrated (0.0045s) ==================
  6019.  
  6020. == 20141223145058 CreateCsvExportLogs: migrating ==============================
  6021. -- create_table(:csv_export_logs)
  6022. -> 0.0044s
  6023. == 20141223145058 CreateCsvExportLogs: migrated (0.0097s) =====================
  6024.  
  6025. == 20141228151019 RenameCsvExportLogsToUserExports: migrating =================
  6026. -- rename_table(:csv_export_logs, :user_exports)
  6027. -> 0.0030s
  6028. == 20141228151019 RenameCsvExportLogsToUserExports: migrated (0.0071s) ========
  6029.  
  6030. == 20150102113309 CleanUpUserHistory: migrating ===============================
  6031. == 20150102113309 CleanUpUserHistory: migrated (0.0059s) ======================
  6032.  
  6033. == 20150106215342 RemoveStars: migrating ======================================
  6034. -- execute(" INSERT INTO post_actions(user_id, post_id, post_action_type_id, created_at, updated_at)\n SELECT tu.user_id, p.id, 1, coalesce(tu.starred_at, now()), coalesce(tu.starred_at, now())\n FROM topic_users tu\n JOIN posts p ON p.topic_id = tu.topic_id AND p.post_number = 1\n LEFT JOIN post_actions pa ON\n pa.post_id = p.id AND\n pa.user_id = tu.user_id AND\n pa.post_action_type_id = 1\n WHERE pa.post_id IS NULL AND tu.starred\n")
  6035. -> 0.0010s
  6036. 0 stars were converted to bookmarks!
  6037. -- execute(" DELETE FROM user_actions WHERE action_type = 10\n")
  6038. -> 0.0003s
  6039. -- remove_column(:topic_users, :starred)
  6040. -> 0.0005s
  6041. -- remove_column(:topic_users, :starred_at)
  6042. -> 0.0002s
  6043. -- remove_column(:topic_users, :unstarred_at)
  6044. -> 0.0003s
  6045. -- remove_column(:topics, :star_count)
  6046. -> 0.0005s
  6047. == 20150106215342 RemoveStars: migrated (0.0067s) =============================
  6048.  
  6049. == 20150108002354 AddLikedAndBookmarkedToTopicUser: migrating =================
  6050. -- add_column(:topic_users, :liked, :boolean, {:default=>false})
  6051. -> 0.0046s
  6052. -- add_column(:topic_users, :bookmarked, :boolean, {:default=>false})
  6053. -> 0.0040s
  6054. -- execute("UPDATE topic_users\n SET liked = true\n WHERE EXISTS (SELECT 1 FROM post_actions pa\n JOIN posts p ON p.id = pa.post_id\n JOIN topics t ON t.id = p.topic_id\n WHERE pa.deleted_at IS NULL AND\n p.deleted_at IS NULL AND\n t.deleted_at IS NULL AND\n pa.user_id = topic_users.user_id AND\n p.topic_id = topic_users.topic_id AND\n post_action_type_id = 2)\n ")
  6055. -> 0.0016s
  6056. -- execute("UPDATE topic_users\n SET bookmarked = true\n WHERE EXISTS (SELECT 1 FROM post_actions pa\n JOIN posts p ON p.id = pa.post_id\n JOIN topics t ON t.id = p.topic_id\n WHERE pa.deleted_at IS NULL AND\n p.deleted_at IS NULL AND\n t.deleted_at IS NULL AND\n pa.user_id = topic_users.user_id AND\n p.topic_id = topic_users.topic_id AND\n post_action_type_id = 1)\n ")
  6057. -> 0.0008s
  6058. == 20150108002354 AddLikedAndBookmarkedToTopicUser: migrated (0.0173s) ========
  6059.  
  6060. == 20150108202057 CreateBookmarkActions: migrating ============================
  6061. -- execute("INSERT INTO user_actions (action_type,\n user_id,\n target_topic_id,\n target_post_id,\n acting_user_id,\n created_at,\n updated_at)\n SELECT DISTINCT 3,\n pa.user_id,\n p.topic_id,\n pa.post_id,\n pa.user_id,\n pa.created_at,\n pa.updated_at\n FROM post_actions AS pa\n INNER JOIN posts AS p ON p.id = pa.post_id AND p.post_number = 1\n WHERE NOT EXISTS (SELECT 1 FROM user_actions AS ua WHERE ua.target_post_id = pa.post_id AND ua.action_type = 3 AND ua.user_id = pa.user_id)\n AND pa.post_action_type_id = 1\n AND pa.deleted_at IS NULL")
  6062. -> 0.0008s
  6063. == 20150108202057 CreateBookmarkActions: migrated (0.0079s) ===================
  6064.  
  6065. == 20150108211557 IndexTopicCustomFieldValues: migrating ======================
  6066. -- add_index(:topic_custom_fields, :value)
  6067. -> 0.0027s
  6068. == 20150108211557 IndexTopicCustomFieldValues: migrated (0.0093s) =============
  6069.  
  6070. == 20150108221703 GroupManagers: migrating ====================================
  6071. -- create_table(:group_managers)
  6072. -> 0.0030s
  6073. -- add_index(:group_managers, [:group_id, :user_id], {:unique=>true})
  6074. -> 0.0023s
  6075. == 20150108221703 GroupManagers: migrated (0.0126s) ===========================
  6076.  
  6077. == 20150112172258 AddNewSiteCustomizationTypes: migrating =====================
  6078. -- add_column(:site_customizations, :head_tag, :text)
  6079. -> 0.0006s
  6080. -- add_column(:site_customizations, :body_tag, :text)
  6081. -> 0.0003s
  6082. == 20150112172258 AddNewSiteCustomizationTypes: migrated (0.0078s) ============
  6083.  
  6084. == 20150112172259 MigrateSiteTextToSiteCustomization: migrating ===============
  6085. -- execute(" DO\n $do$\n BEGIN\n IF EXISTS(SELECT 1 FROM site_texts WHERE (text_type = 'head' OR text_type = 'bottom')) THEN\n INSERT INTO site_customizations (name, user_id, enabled, key, created_at, updated_at, head_tag, body_tag)\n VALUES\n (\n 'Migrated from Site Text',\n -1,\n 't',\n '62000a2c-9e60-43c9-9ded-14e528b1d9bc',\n now(),\n now(),\n (SELECT value FROM site_texts WHERE text_type = 'head' LIMIT 1),\n (SELECT value FROM site_texts WHERE text_type = 'bottom' LIMIT 1)\n );\n END IF;\n END\n $do$\n")
  6086. -> 0.0025s
  6087. == 20150112172259 MigrateSiteTextToSiteCustomization: migrated (0.0082s) ======
  6088.  
  6089. == 20150114093325 AddTopToSiteCustomization: migrating ========================
  6090. -- add_column(:site_customizations, :top, :text)
  6091. -> 0.0005s
  6092. -- add_column(:site_customizations, :mobile_top, :text)
  6093. -> 0.0003s
  6094. -- execute(" UPDATE site_customizations\n SET top = (SELECT value FROM site_texts WHERE text_type = 'top' LIMIT 1),\n mobile_top = (SELECT value FROM site_texts WHERE text_type = 'top' LIMIT 1),\n head_tag = (SELECT value FROM site_texts WHERE text_type = 'head' LIMIT 1),\n body_tag = (SELECT value FROM site_texts WHERE text_type = 'bottom' LIMIT 1)\n WHERE name = 'Migrated from Site Text'\n")
  6095. -> 0.0005s
  6096. == 20150114093325 AddTopToSiteCustomization: migrated (0.0055s) ===============
  6097.  
  6098. == 20150115172310 RenameUserExportColumn: migrating ===========================
  6099. -- rename_column(:user_exports, :export_type, :file_name)
  6100. -> 0.0011s
  6101. == 20150115172310 RenameUserExportColumn: migrated (0.0064s) ==================
  6102.  
  6103. == 20150119192813 AddPostsIndexIncludingDeleted: migrating ====================
  6104. -- add_index(:posts, [:user_id, :created_at])
  6105. -> 0.0028s
  6106. == 20150119192813 AddPostsIndexIncludingDeleted: migrated (0.0089s) ===========
  6107.  
  6108. == 20150123145128 AddAutomaticMembershipToGroup: migrating ====================
  6109. -- add_column(:groups, :automatic_membership_email_domains, :text)
  6110. -> 0.0006s
  6111. -- add_column(:groups, :automatic_membership_retroactive, :boolean, {:default=>false})
  6112. -> 0.0044s
  6113. == 20150123145128 AddAutomaticMembershipToGroup: migrated (0.0118s) ===========
  6114.  
  6115. == 20150129204520 AddShowOnProfileToUserFields: migrating =====================
  6116. -- add_column(:user_fields, :show_on_profile, :boolean, {:default=>false, :null=>false})
  6117. -> 0.0040s
  6118. == 20150129204520 AddShowOnProfileToUserFields: migrated (0.0107s) ============
  6119.  
  6120. == 20150203041207 AddApplicationRequests: migrating ===========================
  6121. -- create_table(:application_requests)
  6122. -> 0.0030s
  6123. -- add_index(:application_requests, [:date, :req_type], {:unique=>true})
  6124. -> 0.0023s
  6125. == 20150203041207 AddApplicationRequests: migrated (0.0111s) ==================
  6126.  
  6127. == 20150205032808 ResetApplicationRequests: migrating =========================
  6128. -- execute("TRUNCATE TABLE application_requests")
  6129. -> 0.0016s
  6130. == 20150205032808 ResetApplicationRequests: migrated (0.0061s) ================
  6131.  
  6132. == 20150205172051 AddCustomTypeToUserHistories: migrating =====================
  6133. -- add_column(:user_histories, :custom_type, :string)
  6134. -> 0.0005s
  6135. == 20150205172051 AddCustomTypeToUserHistories: migrated (0.0053s) ============
  6136.  
  6137. == 20150206004143 FlushApplicationRequests: migrating =========================
  6138. -- execute("TRUNCATE TABLE application_requests")
  6139. -> 0.0017s
  6140. == 20150206004143 FlushApplicationRequests: migrated (0.0069s) ================
  6141.  
  6142. == 20150213174159 CreateDigestUnsubscribeKeys: migrating ======================
  6143. -- create_table(:digest_unsubscribe_keys, {:id=>false})
  6144. -> 0.0014s
  6145. -- execute("ALTER TABLE digest_unsubscribe_keys ADD PRIMARY KEY (key)")
  6146. -> 0.0010s
  6147. -- add_index(:digest_unsubscribe_keys, :created_at)
  6148. -> 0.0023s
  6149. == 20150213174159 CreateDigestUnsubscribeKeys: migrated (0.0115s) =============
  6150.  
  6151. == 20150224004420 AddPinnedIndexes: migrating =================================
  6152. -- add_index(:topics, :pinned_globally, {:where=>"pinned_globally"})
  6153. -> 0.0026s
  6154. -- add_index(:topics, :pinned_at, {:where=>"pinned_at IS NOT NULL"})
  6155. -> 0.0022s
  6156. == 20150224004420 AddPinnedIndexes: migrated (0.0089s) ========================
  6157.  
  6158. == 20150227043622 AddLongDescriptionToBadges: migrating =======================
  6159. -- add_column(:badges, :long_description, :text)
  6160. -> 0.0006s
  6161. == 20150227043622 AddLongDescriptionToBadges: migrated (0.0047s) ==============
  6162.  
  6163. == 20150301224250 CreateSuggestedForIndex: migrating ==========================
  6164. -- add_index(:topics, [:created_at, :visible], {:where=>"deleted_at IS NULL AND archetype <> 'private_message'"})
  6165. -> 0.0027s
  6166. == 20150301224250 CreateSuggestedForIndex: migrated (0.0062s) =================
  6167.  
  6168. == 20150306050437 AddAllTimeAndOpLikesToTopTopics: migrating ==================
  6169. -- add_column(:top_topics, :all_score, :float, {:default=>0})
  6170. -> 0.0108s
  6171. -- add_column(:top_topics, "daily_op_likes_count", :integer, {:default=>0, :null=>false})
  6172. -> 0.0097s
  6173. -- add_index(:top_topics, ["daily_op_likes_count"])
  6174. -> 0.0028s
  6175. -- add_column(:top_topics, "weekly_op_likes_count", :integer, {:default=>0, :null=>false})
  6176. -> 0.0107s
  6177. -- add_index(:top_topics, ["weekly_op_likes_count"])
  6178. -> 0.0025s
  6179. -- add_column(:top_topics, "monthly_op_likes_count", :integer, {:default=>0, :null=>false})
  6180. -> 0.0111s
  6181. -- add_index(:top_topics, ["monthly_op_likes_count"])
  6182. -> 0.0025s
  6183. -- add_column(:top_topics, "yearly_op_likes_count", :integer, {:default=>0, :null=>false})
  6184. -> 0.0122s
  6185. -- add_index(:top_topics, ["yearly_op_likes_count"])
  6186. -> 0.0022s
  6187. == 20150306050437 AddAllTimeAndOpLikesToTopTopics: migrated (0.0709s) =========
  6188.  
  6189. == 20150318143915 CreateDirectoryItems: migrating =============================
  6190. -- create_table(:directory_items, {:force=>true})
  6191. -> 0.0037s
  6192. -- add_index(:directory_items, :period_type)
  6193. -> 0.0022s
  6194. == 20150318143915 CreateDirectoryItems: migrated (0.0111s) ====================
  6195.  
  6196. == 20150323034933 AddAllowPrivateMessagesToUserProfile: migrating =============
  6197. -- add_column(:user_profiles, :allow_private_messages, :boolean, {:default=>true, :null=>false})
  6198. -> 0.0046s
  6199. == 20150323034933 AddAllowPrivateMessagesToUserProfile: migrated (0.0108s) ====
  6200.  
  6201. == 20150323062322 RemoveAllowPrivateMessagesFromUserProfile: migrating ========
  6202. -- remove_column(:user_profiles, :allow_private_messages)
  6203. -> 0.0005s
  6204. == 20150323062322 RemoveAllowPrivateMessagesFromUserProfile: migrated (0.0059s)
  6205.  
  6206. == 20150323234856 AddMutedUsers: migrating ====================================
  6207. -- create_table(:muted_users, {:force=>true})
  6208. -> 0.0034s
  6209. -- add_index(:muted_users, [:user_id, :muted_user_id], {:unique=>true})
  6210. -> 0.0021s
  6211. -- add_index(:muted_users, [:muted_user_id, :user_id], {:unique=>true})
  6212. -> 0.0021s
  6213. == 20150323234856 AddMutedUsers: migrated (0.0123s) ===========================
  6214.  
  6215. == 20150324184222 AddMoreToDirectoryItems: migrating ==========================
  6216. -- add_column(:directory_items, :days_visited, :integer, {:null=>false, :default=>0})
  6217. -> 0.0037s
  6218. -- add_column(:directory_items, :posts_read, :integer, {:null=>false, :default=>0})
  6219. -> 0.0028s
  6220. == 20150324184222 AddMoreToDirectoryItems: migrated (0.0120s) =================
  6221.  
  6222. == 20150325183400 FixGroupUserCount: migrating ================================
  6223. -- execute("UPDATE groups g SET user_count = (SELECT COUNT(user_id) FROM group_users gu WHERE gu.group_id = g.id)")
  6224. -> 0.0006s
  6225. == 20150325183400 FixGroupUserCount: migrated (0.0049s) =======================
  6226.  
  6227. == 20150325190959 CreateQueuedPosts: migrating ================================
  6228. -- create_table(:queued_posts, {:force=>true})
  6229. -> 0.0049s
  6230. -- add_index(:queued_posts, [:queue, :state, :created_at], {:name=>"by_queue_status"})
  6231. -> 0.0024s
  6232. -- add_index(:queued_posts, [:topic_id, :queue, :state, :created_at], {:name=>"by_queue_status_topic"})
  6233. -> 0.0023s
  6234. == 20150325190959 CreateQueuedPosts: migrated (0.0158s) =======================
  6235.  
  6236. == 20150410002033 AddPrimaryGroupToGroups: migrating ==========================
  6237. -- add_column(:groups, :primary_group, :boolean, {:default=>false, :null=>false})
  6238. -> 0.0044s
  6239. == 20150410002033 AddPrimaryGroupToGroups: migrated (0.0095s) =================
  6240.  
  6241. == 20150410002551 AddTitleToGroups: migrating =================================
  6242. -- add_column(:groups, :title, :string)
  6243. -> 0.0005s
  6244. == 20150410002551 AddTitleToGroups: migrated (0.0047s) ========================
  6245.  
  6246. == 20150421085850 IncreaseUrlLengthOnTopicEmbed: migrating ====================
  6247. -- remove_index(:topic_embeds, :embed_url)
  6248. -> 0.0013s
  6249. -- change_column(:topic_embeds, :embed_url, :string, {:limit=>1000, :null=>false})
  6250. -> 0.0033s
  6251. -- add_index(:topic_embeds, :embed_url, {:unique=>true})
  6252. -> 0.0022s
  6253. == 20150421085850 IncreaseUrlLengthOnTopicEmbed: migrated (0.0120s) ===========
  6254.  
  6255. == 20150421190714 AddQueuedPostIdToUserActions: migrating =====================
  6256. -- add_column(:user_actions, :queued_post_id, :integer, {:null=>true})
  6257. -> 0.0005s
  6258. == 20150421190714 AddQueuedPostIdToUserActions: migrated (0.0045s) ============
  6259.  
  6260. == 20150422160235 AddLinkPostIdIndexOnTopicLinks: migrating ===================
  6261. -- add_index(:topic_links, [:link_post_id, :reflection])
  6262. -> 0.0026s
  6263. == 20150422160235 AddLinkPostIdIndexOnTopicLinks: migrated (0.0066s) ==========
  6264.  
  6265. == 20150501152228 RenameTotalVotesToVoters: migrating =========================
  6266. == 20150501152228 RenameTotalVotesToVoters: migrated (0.0114s) ================
  6267.  
  6268. == 20150505044154 AddStylesheetCache: migrating ===============================
  6269. -- create_table(:stylesheet_cache)
  6270. -> 0.0040s
  6271. -- add_index(:stylesheet_cache, [:target, :digest], {:unique=>true})
  6272. -> 0.0023s
  6273. == 20150505044154 AddStylesheetCache: migrated (0.0112s) ======================
  6274.  
  6275. == 20150513094042 AddIndexOnPostActions: migrating ============================
  6276. -- add_index(:post_actions, [:user_id, :post_action_type_id], {:where=>"deleted_at IS NULL"})
  6277. -> 0.0028s
  6278. == 20150513094042 AddIndexOnPostActions: migrated (0.0085s) ===================
  6279.  
  6280. == 20150514023016 AddUnreadNotificationsIndex: migrating ======================
  6281. -- add_index(:notifications, [:user_id, :notification_type], {:where=>"not read", :name=>"idx_notifications_speedup_unread_count"})
  6282. -> 0.0026s
  6283. == 20150514023016 AddUnreadNotificationsIndex: migrated (0.0073s) =============
  6284.  
  6285. == 20150514043155 AddUserActionsAllIndex: migrating ===========================
  6286. -- add_index(:user_actions, [:user_id, :created_at, :action_type], {:name=>"idx_user_actions_speed_up_user_all"})
  6287. -> 0.0024s
  6288. == 20150514043155 AddUserActionsAllIndex: migrated (0.0069s) ==================
  6289.  
  6290. == 20150525151759 SetDefaultS3Region: migrating ===============================
  6291. -- execute(" UPDATE site_settings\n SET value = 'us-east-1'\n WHERE name = 's3_region'\n AND LENGTH(COALESCE(value, '')) = 0\n")
  6292. -> 0.0003s
  6293. == 20150525151759 SetDefaultS3Region: migrated (0.0043s) ======================
  6294.  
  6295. == 20150609163211 MigrateEmbeddableHost: migrating ============================
  6296. -- execute("UPDATE site_settings SET name = 'embeddable_hosts', data_type = 9 WHERE name = 'embeddable_host'")
  6297. -> 0.0002s
  6298. == 20150609163211 MigrateEmbeddableHost: migrated (0.0041s) ===================
  6299.  
  6300. == 20150617080349 AddIndexOnPostNotifications: migrating ======================
  6301. -- add_index(:notifications, [:user_id, :topic_id, :post_number])
  6302. -> 0.0028s
  6303. == 20150617080349 AddIndexOnPostNotifications: migrated (0.0074s) =============
  6304.  
  6305. == 20150617233018 AddIndexTargetPostIdOnUserActions: migrating ================
  6306. -- add_index(:user_actions, [:target_post_id])
  6307. -> 0.0024s
  6308. == 20150617233018 AddIndexTargetPostIdOnUserActions: migrated (0.0071s) =======
  6309.  
  6310. == 20150617234511 AddStaffIndexToUsers: migrating =============================
  6311. -- add_index(:users, [:id], {:name=>"idx_users_admin", :where=>"admin"})
  6312. -> 0.0026s
  6313. -- add_index(:users, [:id], {:name=>"idx_users_moderator", :where=>"moderator"})
  6314. -> 0.0022s
  6315. == 20150617234511 AddStaffIndexToUsers: migrated (0.0095s) ====================
  6316.  
  6317. == 20150702201926 AddTopicTemplateToCategories: migrating =====================
  6318. -- add_column(:categories, :topic_template, :text, {:null=>true})
  6319. -> 0.0007s
  6320. == 20150702201926 AddTopicTemplateToCategories: migrated (0.0056s) ============
  6321.  
  6322. == 20150706215111 AddMobileToUserVisits: migrating ============================
  6323. -- add_column(:user_visits, :mobile, :boolean, {:default=>false})
  6324. -> 0.0034s
  6325. == 20150706215111 AddMobileToUserVisits: migrated (0.0083s) ===================
  6326.  
  6327. == 20150707163251 AddReportsIndexToUserVisits: migrating ======================
  6328. -- add_index(:user_visits, [:visited_at, :mobile])
  6329. -> 0.0027s
  6330. == 20150707163251 AddReportsIndexToUserVisits: migrated (0.0079s) =============
  6331.  
  6332. == 20150709021818 AddLikeCountToPostMenu: migrating ===========================
  6333. -- execute("UPDATE site_settings\nSET value = replace(value, 'like', 'like-count|like')\nWHERE name = 'post_menu'\nAND value NOT LIKE '%like-count%'\n")
  6334. -> 0.0003s
  6335. == 20150709021818 AddLikeCountToPostMenu: migrated (0.0050s) ==================
  6336.  
  6337. == 20150713203955 EnlargeUsersEmailField: migrating ===========================
  6338. -- change_column(:users, :email, :string, {:limit=>513})
  6339. -> 0.0018s
  6340. == 20150713203955 EnlargeUsersEmailField: migrated (0.0056s) ==================
  6341.  
  6342. == 20150724165259 AddIndexToPostCustomFields: migrating =======================
  6343. -- execute(" CREATE INDEX index_post_custom_fields_on_name_and_value ON post_custom_fields USING btree (name, left(value, 200))\n")
  6344. -> 0.0011s
  6345. == 20150724165259 AddIndexToPostCustomFields: migrated (0.0049s) ==============
  6346.  
  6347. == 20150724182342 AddActionCodeToPost: migrating ==============================
  6348. -- add_column(:posts, :action_code, :string, {:null=>true})
  6349. -> 0.0007s
  6350. == 20150724182342 AddActionCodeToPost: migrated (0.0047s) =====================
  6351.  
  6352. == 20150727193414 CreateUserFieldOptions: migrating ===========================
  6353. -- create_table(:user_field_options, {:force=>true})
  6354. -> 0.0046s
  6355. == 20150727193414 CreateUserFieldOptions: migrated (0.0092s) ==================
  6356.  
  6357. == 20150727210019 AddPinnedUntilToTopics: migrating ===========================
  6358. -- add_column(:topics, :pinned_until, :datetime, {:null=>true})
  6359. -> 0.0008s
  6360. == 20150727210019 AddPinnedUntilToTopics: migrated (0.0059s) ==================
  6361.  
  6362. == 20150727210748 AddQuarterlyToTopTopics: migrating ==========================
  6363. -- add_column(:top_topics, :quarterly_posts_count, :integer, {:default=>0, :null=>false})
  6364. -> 0.0132s
  6365. -- add_column(:top_topics, :quarterly_views_count, :integer, {:default=>0, :null=>false})
  6366. -> 0.0128s
  6367. -- add_column(:top_topics, :quarterly_likes_count, :integer, {:default=>0, :null=>false})
  6368. -> 0.0119s
  6369. -- add_column(:top_topics, :quarterly_score, :float, {:default=>0.0})
  6370. -> 0.0116s
  6371. -- add_column(:top_topics, :quarterly_op_likes_count, :integer, {:default=>0, :null=>false})
  6372. -> 0.0130s
  6373. -- add_index(:top_topics, [:quarterly_posts_count])
  6374. -> 0.0028s
  6375. -- add_index(:top_topics, [:quarterly_views_count])
  6376. -> 0.0020s
  6377. -- add_index(:top_topics, [:quarterly_likes_count])
  6378. -> 0.0021s
  6379. -- add_index(:top_topics, [:quarterly_op_likes_count])
  6380. -> 0.0020s
  6381. == 20150727210748 AddQuarterlyToTopTopics: migrated (0.0798s) =================
  6382.  
  6383. == 20150727230537 AddExampleColumnComments: migrating =========================
  6384. COMMENT ON TABLE posts
  6385. COMMENT ON COLUMN posts.post_number
  6386. COMMENT ON COLUMN posts.raw
  6387. COMMENT ON COLUMN posts.cooked
  6388. COMMENT ON COLUMN posts.reply_to_post_number
  6389. COMMENT ON COLUMN posts.reply_quoted
  6390. COMMENT ON TABLE topics
  6391. == 20150727230537 AddExampleColumnComments: migrated (0.0076s) ================
  6392.  
  6393. == 20150728004647 CorrectCustomFieldsMigration: migrating =====================
  6394. -- execute(" DROP INDEX index_post_custom_fields_on_name_and_value\n")
  6395. -> 0.0004s
  6396. -- execute(" CREATE INDEX index_post_custom_fields_on_name_and_value ON post_custom_fields USING btree (name, left(value, 200))\n")
  6397. -> 0.0013s
  6398. == 20150728004647 CorrectCustomFieldsMigration: migrated (0.0070s) ============
  6399.  
  6400. == 20150728210202 MigrateOldModeratorPosts: migrating =========================
  6401. -- execute("UPDATE posts SET action_code = 'closed.enabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now closed. New replies are no longer allowed.'")
  6402. -> 0.0005s
  6403. -- execute("UPDATE posts SET action_code = 'closed.disabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now opened. New replies are allowed.'")
  6404. -> 0.0003s
  6405. -- execute("UPDATE posts SET action_code = 'archived.enabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now archived. It is frozen and cannot be changed in any way.'")
  6406. -> 0.0003s
  6407. -- execute("UPDATE posts SET action_code = 'archived.disabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now unarchived. It is no longer frozen, and can be changed.'")
  6408. -> 0.0003s
  6409. -- execute("UPDATE posts SET action_code = 'pinned.enabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now pinned. It will appear at the top of its category until it is unpinned by staff for everyone, or by individual users for themselves.'")
  6410. -> 0.0003s
  6411. -- execute("UPDATE posts SET action_code = 'pinned.disabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now unpinned. It will no longer appear at the top of its category.'")
  6412. -> 0.0003s
  6413. -- execute("UPDATE posts SET action_code = 'pinned_globally.enabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now pinned globally. It will appear at the top of its category and all topic lists until it is unpinned by staff for everyone, or by individual users for themselves.'")
  6414. -> 0.0003s
  6415. -- execute("UPDATE posts SET action_code = 'pinned_globally.disabled', raw = '', cooked = '', post_type = 3 where post_type = 2 AND raw = 'This topic is now unpinned. It will no longer appear at the top of its category.'")
  6416. -> 0.0003s
  6417. == 20150728210202 MigrateOldModeratorPosts: migrated (0.0087s) ================
  6418.  
  6419. == 20150729150523 MigrateAutoClosePosts: migrating ============================
  6420. -- execute("UPDATE posts SET action_code = 'autoclosed.enabled', post_type = 3 WHERE post_type = 2 AND (raw ~* 'This topic was automatically closed after 1 day. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed after \\d+ days. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed after 1 hour. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed after \\d+ hours. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed 1 day after the last reply. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed \\d+ days after the last reply. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed 1 hour after the last reply. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed \\d+ hours after the last reply. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed 1 minute after the last reply. New replies are no longer allowed.' OR raw ~* 'This topic was automatically closed \\d+ minutes after the last reply. New replies are no longer allowed.')")
  6421. -> 0.0017s
  6422. == 20150729150523 MigrateAutoClosePosts: migrated (0.0064s) ===================
  6423.  
  6424. == 20150730154830 AddPositionToUserFields: migrating ==========================
  6425. -- add_column(:user_fields, :position, :integer, {:default=>0})
  6426. -> 0.0045s
  6427. -- execute("UPDATE user_fields SET position = (SELECT COUNT(*) from user_fields as uf2 where uf2.id < user_fields.id)")
  6428. -> 0.0005s
  6429. == 20150730154830 AddPositionToUserFields: migrated (0.0107s) =================
  6430.  
  6431. == 20150731225331 MigrateOldMovedPosts: migrating =============================
  6432. -- execute("UPDATE posts SET post_type = 3, action_code = 'split_topic' WHERE post_type = 2 AND raw ~* '^I moved [a\\d]+ posts? to a new topic:'")
  6433. -> 0.0005s
  6434. -- execute("UPDATE posts SET post_type = 3, action_code = 'split_topic' WHERE post_type = 2 AND raw ~* '^I moved [a\\d]+ posts? to an existing topic:'")
  6435. -> 0.0003s
  6436. == 20150731225331 MigrateOldMovedPosts: migrated (0.0060s) ====================
  6437.  
  6438. == 20150802233112 AddPostStats: migrating =====================================
  6439. -- add_column(:drafts, :revisions, :int, {:null=>false, :default=>1})
  6440. -> 0.0043s
  6441. -- create_table(:post_stats)
  6442. -> 0.0027s
  6443. -- add_index(:post_stats, [:post_id])
  6444. -> 0.0024s
  6445. == 20150802233112 AddPostStats: migrated (0.0150s) ============================
  6446.  
  6447. == 20150806210727 AddEmbeddedCssToSiteCustomizations: migrating ===============
  6448. -- add_column(:site_customizations, :embedded_css, :text)
  6449. -> 0.0006s
  6450. -- add_column(:site_customizations, :embedded_css_baked, :text)
  6451. -> 0.0004s
  6452. == 20150806210727 AddEmbeddedCssToSiteCustomizations: migrated (0.0066s) ======
  6453.  
  6454. == 20150818190757 CreateEmbeddableHosts: migrating ============================
  6455. -- create_table(:embeddable_hosts, {:force=>true})
  6456. -> 0.0044s
  6457. -- execute("SELECT c.id FROM categories AS c\n INNER JOIN site_settings AS s ON s.value = c.name\n WHERE s.name = 'embed_category'")
  6458. -> 0.0008s
  6459. -- execute("SELECT value FROM site_settings WHERE name = 'uncategorized_category_id'")
  6460. -> 0.0002s
  6461. -- execute("SELECT value FROM site_settings WHERE name = 'embeddable_hosts'")
  6462. -> 0.0002s
  6463. -- execute("DELETE FROM site_settings WHERE name IN ('embeddable_hosts', 'embed_category')")
  6464. -> 0.0002s
  6465. == 20150818190757 CreateEmbeddableHosts: migrated (0.0118s) ===================
  6466.  
  6467. == 20150822141540 FixMigratedHosts: migrating =================================
  6468. -- execute("UPDATE embeddable_hosts SET host = regexp_replace(host, '^https?://', '', 'i')")
  6469. -> 0.0004s
  6470. == 20150822141540 FixMigratedHosts: migrated (0.0056s) ========================
  6471.  
  6472. == 20150828155137 AddSuppressFromHomepageToCategory: migrating ================
  6473. -- add_column(:categories, :suppress_from_homepage, :boolean, {:default=>false})
  6474. -> 0.0069s
  6475. == 20150828155137 AddSuppressFromHomepageToCategory: migrated (0.0132s) =======
  6476.  
  6477. == 20150901192313 AddGrantTrustLevelToGroups: migrating =======================
  6478. -- add_column(:groups, :grant_trust_level, :integer)
  6479. -> 0.0007s
  6480. == 20150901192313 AddGrantTrustLevelToGroups: migrated (0.0067s) ==============
  6481.  
  6482. == 20150914021445 CreateUserProfileViews: migrating ===========================
  6483. -- create_table(:user_profile_views)
  6484. -> 0.0039s
  6485. -- add_index(:user_profile_views, :user_profile_id)
  6486. -> 0.0026s
  6487. -- add_index(:user_profile_views, :user_id)
  6488. -> 0.0022s
  6489. -- add_index(:user_profile_views, [:viewed_at, :ip_address, :user_profile_id], {:where=>"user_id IS NULL", :unique=>true, :name=>"unique_profile_view_ip"})
  6490. -> 0.0022s
  6491. -- add_index(:user_profile_views, [:viewed_at, :user_id, :user_profile_id], {:where=>"user_id IS NOT NULL", :unique=>true, :name=>"unique_profile_view_user"})
  6492. -> 0.0021s
  6493. == 20150914021445 CreateUserProfileViews: migrated (0.0190s) ==================
  6494.  
  6495. == 20150914034541 AddViewsToUserProfile: migrating ============================
  6496. -- add_column(:user_profiles, :views, :integer, {:default=>0, :null=>false})
  6497. -> 0.0044s
  6498. == 20150914034541 AddViewsToUserProfile: migrated (0.0097s) ===================
  6499.  
  6500. == 20150917071017 AddCategoryIdToUserHistories: migrating =====================
  6501. -- add_column(:user_histories, :category_id, :integer)
  6502. -> 0.0006s
  6503. -- add_index(:user_histories, :category_id)
  6504. -> 0.0024s
  6505. == 20150917071017 AddCategoryIdToUserHistories: migrated (0.0090s) ============
  6506.  
  6507. == 20150918004206 AddUserIdGroupIdIndexToGroupUsers: migrating ================
  6508. -- add_index(:group_users, [:user_id, :group_id], {:unique=>true})
  6509. -> 0.0027s
  6510. == 20150918004206 AddUserIdGroupIdIndexToGroupUsers: migrated (0.0088s) =======
  6511.  
  6512. == 20150924022040 AddFancyTitleToTopic: migrating =============================
  6513. -- add_column(:topics, :fancy_title, :string, {:limit=>400, :null=>true})
  6514. -> 0.0007s
  6515. == 20150924022040 AddFancyTitleToTopic: migrated (0.0065s) ====================
  6516.  
  6517. == 20150925000915 ExcludeWhispersFromBadges: migrating ========================
  6518. -- execute("DROP VIEW badge_posts")
  6519. -> 0.0010s
  6520. -- execute("CREATE VIEW badge_posts AS\n SELECT p.*\n FROM posts p\n JOIN topics t ON t.id = p.topic_id\n JOIN categories c ON c.id = t.category_id\n WHERE c.allow_badges AND\n p.deleted_at IS NULL AND\n t.deleted_at IS NULL AND\n NOT c.read_restricted AND\n t.visible AND\n p.post_type IN (1,2,3)\n ")
  6521. -> 0.0042s
  6522. == 20150925000915 ExcludeWhispersFromBadges: migrated (0.0113s) ===============
  6523.  
  6524. == 20151016163051 MergePollsVotes: migrating ==================================
  6525. == 20151016163051 MergePollsVotes: migrated (0.0334s) =========================
  6526.  
  6527. == 20151103233815 AddLowerTitleIndexOnTopics: migrating =======================
  6528. -- execute("CREATE INDEX index_topics_on_lower_title ON topics (LOWER(title))")
  6529. -> 0.0014s
  6530. == 20151103233815 AddLowerTitleIndexOnTopics: migrated (0.0072s) ==============
  6531.  
  6532. == 20151105181635 AddStagedToUser: migrating ==================================
  6533. -- add_column(:users, :staged, :boolean, {:null=>false, :default=>false})
  6534. -> 0.0107s
  6535. == 20151105181635 AddStagedToUser: migrated (0.0172s) =========================
  6536.  
  6537. == 20151107041044 FixIncorrectTopicCreatorAfterMove: migrating ================
  6538. -- execute("UPDATE topics SET user_id = p.user_id\n FROM posts p\n WHERE p.topic_id = topics.id AND\n p.post_number = 1 AND\n p.user_id <> topics.user_id")
  6539. -> 0.0010s
  6540. == 20151107041044 FixIncorrectTopicCreatorAfterMove: migrated (0.0053s) =======
  6541.  
  6542. == 20151107042241 AddOwnerToGroupUsers: migrating =============================
  6543. -- add_column(:group_users, :owner, :boolean, {:null=>false, :default=>false})
  6544. -> 0.0040s
  6545. == 20151107042241 AddOwnerToGroupUsers: migrated (0.0096s) ====================
  6546.  
  6547. == 20151109124147 DropGroupManagers: migrating ================================
  6548. -- execute("UPDATE group_users SET owner = true\n WHERE exists (SELECT 1 FROM group_managers m\n WHERE m.group_id = group_users.group_id AND\n m.user_id = group_users.user_id)")
  6549. -> 0.0008s
  6550. -- drop_table("group_managers")
  6551. -> 0.0008s
  6552. == 20151109124147 DropGroupManagers: migrated (0.0068s) =======================
  6553.  
  6554. == 20151113205046 CreateTranslationOverrides: migrating =======================
  6555. -- create_table(:translation_overrides, {:force=>true})
  6556. -> 0.0040s
  6557. -- add_index(:translation_overrides, [:locale, :translation_key], {:unique=>true})
  6558. -> 0.0023s
  6559. == 20151113205046 CreateTranslationOverrides: migrated (0.0114s) ==============
  6560.  
  6561. == 20151117165756 AddAutomaticallyUnpinTopicsToUsers: migrating ===============
  6562. -- add_column(:users, :automatically_unpin_topics, :boolean, {:nullabe=>false, :default=>true})
  6563. -> 0.0102s
  6564. == 20151117165756 AddAutomaticallyUnpinTopicsToUsers: migrated (0.0161s) ======
  6565.  
  6566. == 20151124172631 AddIsSupportToCategories: migrating =========================
  6567. -- add_column(:categories, :is_support, :boolean, {:default=>false, :null=>false})
  6568. -> 0.0073s
  6569. == 20151124172631 AddIsSupportToCategories: migrated (0.0130s) ================
  6570.  
  6571. == 20151124192339 RenameNinjaEdit: migrating ==================================
  6572. -- execute("UPDATE site_settings SET name = 'editing_grace_period' WHERE name = 'ninja_edit_window'")
  6573. -> 0.0002s
  6574. == 20151124192339 RenameNinjaEdit: migrated (0.0059s) =========================
  6575.  
  6576. == 20151125194322 RemoveSiteText: migrating ===================================
  6577. -- execute("INSERT INTO translation_overrides (locale, translation_key, value, created_at, updated_at)\n SELECT 'en',\n CASE\n WHEN text_type = 'usage_tips' THEN 'system_messages.usage_tips.text_body_template'\n WHEN text_type = 'education_new_topic' THEN 'education.new-topic'\n WHEN text_type = 'education_new_reply' THEN 'education.new-reply'\n WHEN text_type = 'login_required_welcome_message' THEN 'login_required.welcome_message'\n END,\n value,\n created_at,\n updated_at\n FROM site_texts\n WHERE text_type in ('usage_tips',\n 'education_new_topic',\n 'education_new_reply',\n 'login_required_welcome_message')")
  6578. -> 0.0005s
  6579. -- drop_table(:site_texts)
  6580. -> 0.0007s
  6581. == 20151125194322 RemoveSiteText: migrated (0.0074s) ==========================
  6582.  
  6583. == 20151126173356 RenameIsSupportToContainsMessages: migrating ================
  6584. -- rename_column(:categories, :is_support, :contains_messages)
  6585. -> 0.0025s
  6586. == 20151126173356 RenameIsSupportToContainsMessages: migrated (0.0083s) =======
  6587.  
  6588. == 20151126233623 AddBakedHeadAndBodyToSiteCustomizations: migrating ==========
  6589. -- add_column(:site_customizations, :head_tag_baked, :text)
  6590. -> 0.0006s
  6591. -- add_column(:site_customizations, :body_tag_baked, :text)
  6592. -> 0.0003s
  6593. == 20151126233623 AddBakedHeadAndBodyToSiteCustomizations: migrated (0.0060s) =
  6594.  
  6595. == 20151127011837 AddHeaderAndFooterBakedToSiteCustomizations: migrating ======
  6596. -- add_column(:site_customizations, :header_baked, :text)
  6597. -> 0.0005s
  6598. -- add_column(:site_customizations, :mobile_header_baked, :text)
  6599. -> 0.0003s
  6600. -- add_column(:site_customizations, :footer_baked, :text)
  6601. -> 0.0003s
  6602. -- add_column(:site_customizations, :mobile_footer_baked, :text)
  6603. -> 0.0003s
  6604. == 20151127011837 AddHeaderAndFooterBakedToSiteCustomizations: migrated (0.0070s)
  6605.  
  6606. == 20151201035631 AddGroupMentions: migrating =================================
  6607. -- create_table(:group_mentions)
  6608. -> 0.0028s
  6609. -- add_index(:group_mentions, [:post_id, :group_id], {:unique=>true})
  6610. -> 0.0026s
  6611. -- add_index(:group_mentions, [:group_id, :post_id], {:unique=>true})
  6612. -> 0.0026s
  6613. == 20151201035631 AddGroupMentions: migrated (0.0142s) ========================
  6614.  
  6615. == 20151201161726 AddIncomingEmailToGroups: migrating =========================
  6616. -- add_column(:groups, :incoming_email, :string, {:null=>true})
  6617. -> 0.0006s
  6618. -- add_index(:groups, :incoming_email, {:unique=>true})
  6619. -> 0.0026s
  6620. == 20151201161726 AddIncomingEmailToGroups: migrated (0.0089s) ================
  6621.  
  6622. == 20151214165852 AddNotificationLevelToGroupUsers: migrating =================
  6623. -- add_column(:group_users, :notification_level, :integer, {:default=>3, :null=>false})
  6624. -> 0.0037s
  6625. == 20151214165852 AddNotificationLevelToGroupUsers: migrated (0.0076s) ========
  6626.  
  6627. == 20151218232200 AddUniqueIndexToCategoryUsers: migrating ====================
  6628. -- execute("DELETE FROM category_users cu USING category_users cu1\n WHERE cu.user_id = cu1.user_id AND\n cu.category_id = cu1.category_id AND\n cu.notification_level = cu1.notification_level AND\n cu.id < cu1.id\n")
  6629. -> 0.0005s
  6630. -- add_index(:category_users, [:user_id, :category_id, :notification_level], {:name=>"idx_category_users_u1", :unique=>true})
  6631. -> 0.0023s
  6632. -- add_index(:category_users, [:category_id, :user_id, :notification_level], {:name=>"idx_category_users_u2", :unique=>true})
  6633. -> 0.0020s
  6634. == 20151218232200 AddUniqueIndexToCategoryUsers: migrated (0.0087s) ===========
  6635.  
  6636. == 20151219045559 AddHasMessagesToGroups: migrating ===========================
  6637. -- add_column(:groups, :has_messages, :boolean, {:default=>false, :null=>false})
  6638. -> 0.0048s
  6639. -- execute(" UPDATE groups g SET has_messages = true\n WHERE exists(SELECT group_id FROM topic_allowed_groups WHERE group_id = g.id)\n")
  6640. -> 0.0006s
  6641. == 20151219045559 AddHasMessagesToGroups: migrated (0.0095s) ==================
  6642.  
  6643. == 20151220232725 AddUserArchivedMessagesGroupArchivedMessages: migrating =====
  6644. -- create_table(:user_archived_messages)
  6645. -> 0.0030s
  6646. -- add_index(:user_archived_messages, [:user_id, :topic_id], {:unique=>true})
  6647. -> 0.0023s
  6648. -- create_table(:group_archived_messages)
  6649. -> 0.0022s
  6650. -- add_index(:group_archived_messages, [:group_id, :topic_id], {:unique=>true})
  6651. -> 0.0022s
  6652. == 20151220232725 AddUserArchivedMessagesGroupArchivedMessages: migrated (0.0157s)
  6653.  
  6654. == 20160108051129 FixIncorrectUserHistory: migrating ==========================
  6655. -- execute("SELECT min(id) FROM user_histories WHERE (action = 16 AND previous_value in ('0','1','2','3','4')) OR\n(action = 19 AND target_user_id IS NULL AND details IS NOT NULL)\n")
  6656. -> 0.0007s
  6657. -- execute("SELECT max(id) FROM user_histories WHERE (action = 16 AND previous_value in ('0','1','2','3','4')) OR\n(action = 19 AND target_user_id IS NULL AND details IS NOT NULL)\n")
  6658. -> 0.0004s
  6659. == 20160108051129 FixIncorrectUserHistory: migrated (0.0056s) =================
  6660.  
  6661. == 20160110053003 ArchiveSystemMessagesWithNoReplies: migrating ===============
  6662. -- execute("\n INSERT INTO user_archived_messages (user_id, topic_id, created_at, updated_at)\n SELECT p.user_id, p.topic_id, p.created_at, p.updated_at\n FROM posts p\n JOIN topics t ON t.id = p.topic_id\n LEFT JOIN user_archived_messages um ON um.user_id = p.user_id AND um.topic_id = p.topic_id\n WHERE t.subtype = 'system_message' AND\n t.posts_count = 1 AND\n t.archetype = 'private_message' AND\n um.id IS NULL AND\n p.user_id IS NOT NULL AND\n p.topic_id IS NOT NULL AND\n p.post_number = 1\n")
  6663. -> 0.0010s
  6664. == 20160110053003 ArchiveSystemMessagesWithNoReplies: migrated (0.0053s) ======
  6665.  
  6666. == 20160112025852 RemoveUsersFromTopicAllowedUsers: migrating =================
  6667. -- execute(" DELETE FROM topic_allowed_users tu\n USING topic_allowed_groups tg\n JOIN group_users gu ON gu.group_id = tg.group_id\n WHERE tu.user_id = gu.user_id AND tg.topic_id = tu.topic_id\n")
  6668. -> 0.0009s
  6669. == 20160112025852 RemoveUsersFromTopicAllowedUsers: migrated (0.0043s) ========
  6670.  
  6671. == 20160112101818 RemoveContainsMessageOnCategory: migrating ==================
  6672. -- remove_column(:categories, :contains_messages)
  6673. -> 0.0006s
  6674. == 20160112101818 RemoveContainsMessageOnCategory: migrated (0.0042s) =========
  6675.  
  6676. == 20160112104733 AddContainsMessagesBackToCategories: migrating ==============
  6677. -- add_column(:categories, :contains_messages, :boolean)
  6678. -> 0.0005s
  6679. == 20160112104733 AddContainsMessagesBackToCategories: migrated (0.0048s) =====
  6680.  
  6681. == 20160113160742 CreateIncomingEmails: migrating =============================
  6682. -- create_table(:incoming_emails)
  6683. -> 0.0038s
  6684. -- add_index(:incoming_emails, :created_at)
  6685. -> 0.0023s
  6686. -- add_index(:incoming_emails, :message_id)
  6687. -> 0.0020s
  6688. -- add_index(:incoming_emails, :error)
  6689. -> 0.0020s
  6690. == 20160113160742 CreateIncomingEmails: migrated (0.0157s) ====================
  6691.  
  6692. == 20160118174335 RebakeHtmlCustomizations: migrating =========================
  6693. -- execute("UPDATE site_customizations SET body_tag_baked = NULL,\n head_tag_baked = NULL,\n header_baked = NULL,\n mobile_header_baked = NULL,\n footer_baked = NULL,\n mobile_footer_baked = NULL")
  6694. -> 0.0004s
  6695. == 20160118174335 RebakeHtmlCustomizations: migrated (0.0039s) ================
  6696.  
  6697. == 20160118233631 BackfillIncomingEmails: migrating ===========================
  6698. -- execute(" INSERT INTO incoming_emails (post_id, created_at, updated_at, user_id, topic_id, message_id, from_address, to_addresses, subject)\n SELECT posts.id\n , posts.created_at\n , posts.created_at\n , posts.user_id\n , posts.topic_id\n , array_to_string(regexp_matches(posts.raw_email, '^ *Message-Id: .*<([^>]+)>', 'im'), '')\n , users.email\n , array_to_string(regexp_matches(array_to_string(regexp_matches(posts.raw_email, '^to:.+$', 'im'), ''), '[^< \"''(]+@[^> \"'')]+'), '')\n , topics.title\n FROM posts\n JOIN topics ON posts.topic_id = topics.id\n JOIN users ON posts.user_id = users.id\n WHERE posts.user_id IS NOT NULL\n AND posts.topic_id IS NOT NULL\n AND posts.via_email = 't'\n AND posts.raw_email ~* 'Message-Id'\n ORDER BY posts.id;\n")
  6699. -> 0.0017s
  6700. == 20160118233631 BackfillIncomingEmails: migrated (0.0055s) ==================
  6701.  
  6702. == 20160127105314 ChangeDefaultNotificationLevelOnGroups: migrating ===========
  6703. -- execute("UPDATE group_users SET notification_level = 2")
  6704. -> 0.0002s
  6705. -- change_column(:group_users, :notification_level, :integer, {:null=>false, :default=>2})
  6706. -> 0.0028s
  6707. == 20160127105314 ChangeDefaultNotificationLevelOnGroups: migrated (0.0070s) ==
  6708.  
  6709. == 20160127222802 MigrateUncategorizedDescriptionSetting: migrating ===========
  6710. -- execute("INSERT INTO translation_overrides (locale, translation_key, value, created_at, updated_at)\n SELECT 'en', 'category.uncategorized_description', value, created_at, updated_at\n FROM site_settings\n WHERE name = 'uncategorized_description'\n AND value <> 'Topics that don''t need a category, or don''t fit into any other existing category.'")
  6711. -> 0.0003s
  6712. -- execute("DELETE FROM site_settings WHERE name = 'uncategorized_description'")
  6713. -> 0.0002s
  6714. == 20160127222802 MigrateUncategorizedDescriptionSetting: migrated (0.0042s) ==
  6715.  
  6716. == 20160201181320 FixEmailLogs: migrating =====================================
  6717. -- execute(" UPDATE email_logs\n SET user_id = u.id\n FROM email_logs el\n LEFT JOIN users u ON u.email = el.to_address\n WHERE email_logs.id = el.id\n AND email_logs.user_id IS NULL\n AND NOT email_logs.skipped\n")
  6718. -> 0.0007s
  6719. == 20160201181320 FixEmailLogs: migrated (0.0051s) ============================
  6720.  
  6721. == 20160206210202 RemoveInvalidWebsites: migrating ============================
  6722. -- execute("UPDATE user_profiles SET website = NULL WHERE website = 'http://'")
  6723. -> 0.0004s
  6724. == 20160206210202 RemoveInvalidWebsites: migrated (0.0059s) ===================
  6725.  
  6726. == 20160215075528 AddUnreadPmIndexToNotifications: migrating ==================
  6727. -- add_index(:notifications, [:user_id, :id], {:unique=>true, :where=>"notification_type = 6 AND NOT read"})
  6728. -> 0.0031s
  6729. == 20160215075528 AddUnreadPmIndexToNotifications: migrated (0.0088s) =========
  6730.  
  6731. == 20160225050317 AddUserOptions: migrating ===================================
  6732. -- create_table(:user_options, {:id=>false})
  6733. -> 0.0039s
  6734. -- add_index(:user_options, [:user_id], {:unique=>true})
  6735. -> 0.0024s
  6736. -- execute(" INSERT INTO user_options (\n user_id,\n email_always,\n mailing_list_mode,\n email_digests,\n email_direct,\n email_private_messages,\n external_links_in_new_tab,\n enable_quoting,\n dynamic_favicon,\n disable_jump_reply,\n edit_history_public,\n automatically_unpin_topics,\n digest_after_days\n )\n SELECT id,\n email_always,\n mailing_list_mode,\n email_digests,\n email_direct,\n email_private_messages,\n external_links_in_new_tab,\n enable_quoting,\n dynamic_favicon,\n disable_jump_reply,\n edit_history_public,\n automatically_unpin_topics,\n digest_after_days\n FROM users\n")
  6737. -> 0.0004s
  6738. == 20160225050317 AddUserOptions: migrated (0.0123s) ==========================
  6739.  
  6740. == 20160225050318 AllowDefaultsOnUsersTable: migrating ========================
  6741. -- change_column(:users, :email_digests, :boolean, {:null=>false, :default=>true})
  6742. -> 0.0052s
  6743. -- change_column(:users, :external_links_in_new_tab, :boolean, {:null=>false, :default=>false})
  6744. -> 0.0046s
  6745. == 20160225050318 AllowDefaultsOnUsersTable: migrated (0.0157s) ===============
  6746.  
  6747. == 20160225050319 MoveTrackingOptionsToUserOptions: migrating =================
  6748. -- add_column(:user_options, :auto_track_topics_after_msecs, :integer)
  6749. -> 0.0005s
  6750. -- add_column(:user_options, :new_topic_duration_minutes, :integer)
  6751. -> 0.0003s
  6752. -- add_column(:user_options, :last_redirected_to_top_at, :datetime)
  6753. -> 0.0003s
  6754. -- execute(" UPDATE user_options\n SET auto_track_topics_after_msecs = users.auto_track_topics_after_msecs,\n new_topic_duration_minutes = users.new_topic_duration_minutes,\n last_redirected_to_top_at = users.last_redirected_to_top_at\n FROM users\n WHERE users.id = user_options.user_id\n")
  6755. -> 0.0007s
  6756. == 20160225050319 MoveTrackingOptionsToUserOptions: migrated (0.0060s) ========
  6757.  
  6758.  
  6759. == Seed from /var/www/discourse/db/fixtures/001_categories.rb
  6760.  
  6761. == Seed from /var/www/discourse/db/fixtures/002_groups.rb
  6762.  
  6763. == Seed from /var/www/discourse/db/fixtures/003_post_action_types.rb
  6764. - PostActionType {:id=>1, :name_key=>"bookmark", :is_flag=>false, :position=>1}
  6765. - PostActionType {:id=>2, :name_key=>"like", :is_flag=>false, :icon=>"heart", :position=>2}
  6766. - PostActionType {:id=>3, :name_key=>"off_topic", :is_flag=>true, :position=>3}
  6767. - PostActionType {:id=>4, :name_key=>"inappropriate", :is_flag=>true, :position=>4}
  6768. - PostActionType {:id=>5, :name_key=>"vote", :is_flag=>false, :position=>5}
  6769. - PostActionType {:id=>8, :name_key=>"spam", :is_flag=>true, :position=>6}
  6770. - PostActionType {:id=>6, :name_key=>"notify_user", :is_flag=>true, :position=>7}
  6771. - PostActionType {:id=>7, :name_key=>"notify_moderators", :is_flag=>true, :position=>8}
  6772.  
  6773. == Seed from /var/www/discourse/db/fixtures/004_screened_ip_addresses.rb
  6774. - ScreenedIpAddress {:id=>1, :ip_address=>"10.0.0.0/8", :action_type=>2}
  6775. - ScreenedIpAddress {:id=>2, :ip_address=>"192.168.0.0/16", :action_type=>2}
  6776. - ScreenedIpAddress {:id=>3, :ip_address=>"127.0.0.0/8", :action_type=>2}
  6777. - ScreenedIpAddress {:id=>4, :ip_address=>"172.16.0.0/12", :action_type=>2}
  6778. - ScreenedIpAddress {:id=>5, :ip_address=>"fc00::/7", :action_type=>2}
  6779.  
  6780. == Seed from /var/www/discourse/db/fixtures/005_badge_types.rb
  6781. - BadgeType {:id=>1, :name=>"Gold"}
  6782. - BadgeType {:id=>2, :name=>"Silver"}
  6783. - BadgeType {:id=>3, :name=>"Bronze"}
  6784.  
  6785. == Seed from /var/www/discourse/db/fixtures/006_badges.rb
  6786. - BadgeGrouping {:id=>1, :name=>"Getting Started", :default_position=>10}
  6787. - BadgeGrouping {:id=>2, :name=>"Community", :default_position=>11}
  6788. - BadgeGrouping {:id=>3, :name=>"Posting", :default_position=>12}
  6789. - BadgeGrouping {:id=>4, :name=>"Trust Level", :default_position=>13}
  6790. - BadgeGrouping {:id=>5, :name=>"Other", :default_position=>14}
  6791. - Badge {:id=>1, :default_name=>"Basic User", :badge_type_id=>3, :query=>"\n SELECT u.id user_id, current_timestamp granted_at FROM users u\n WHERE trust_level >= 1 AND (\n :backfill OR u.id IN (:user_ids)\n )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>false, :default_icon=>"fa-user", :system=>true}
  6792. - Badge {:id=>2, :default_name=>"Member", :badge_type_id=>3, :query=>"\n SELECT u.id user_id, current_timestamp granted_at FROM users u\n WHERE trust_level >= 2 AND (\n :backfill OR u.id IN (:user_ids)\n )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>false, :default_icon=>"fa-user", :system=>true}
  6793. - Badge {:id=>3, :default_name=>"Regular", :badge_type_id=>2, :query=>"\n SELECT u.id user_id, current_timestamp granted_at FROM users u\n WHERE trust_level >= 3 AND (\n :backfill OR u.id IN (:user_ids)\n )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>true, :default_icon=>"fa-user", :system=>true}
  6794. - Badge {:id=>4, :default_name=>"Leader", :badge_type_id=>1, :query=>"\n SELECT u.id user_id, current_timestamp granted_at FROM users u\n WHERE trust_level >= 4 AND (\n :backfill OR u.id IN (:user_ids)\n )\n", :default_badge_grouping_id=>4, :trigger=>4, :default_allow_title=>true, :default_icon=>"fa-user", :system=>true}
  6795. - Badge {:id=>17, :default_name=>"Reader", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>" SELECT id user_id, current_timestamp granted_at\n FROM users\n WHERE id IN\n (\n SELECT pt.user_id\n FROM post_timings pt\n JOIN badge_posts b ON b.post_number = pt.post_number AND\n b.topic_id = pt.topic_id\n JOIN topics t ON t.id = pt.topic_id\n LEFT JOIN user_badges ub ON ub.badge_id = 17 AND ub.user_id = pt.user_id\n WHERE ub.id IS NULL AND t.posts_count > 100\n GROUP BY pt.user_id, pt.topic_id, t.posts_count\n HAVING count(*) >= t.posts_count\n )\n", :default_badge_grouping_id=>1, :auto_revoke=>false, :system=>true}
  6796. - Badge {:id=>16, :default_name=>"Read Guidelines", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>" SELECT user_id, read_faq granted_at\n FROM user_stats\n WHERE read_faq IS NOT NULL AND (user_id IN (:user_ids) OR :backfill)\n", :default_badge_grouping_id=>1, :trigger=>8, :system=>true}
  6797. - Badge {:id=>14, :default_name=>"First Link", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>" SELECT l.user_id, l.post_id, l.created_at granted_at\n FROM\n (\n SELECT MIN(l1.id) id\n FROM topic_links l1\n JOIN badge_posts p1 ON p1.id = l1.post_id\n JOIN badge_posts p2 ON p2.id = l1.link_post_id\n WHERE NOT reflection AND p1.topic_id <> p2.topic_id AND not quote AND\n (:backfill OR ( p1.id in (:post_ids) ))\n GROUP BY l1.user_id\n ) ids\n JOIN topic_links l ON l.id = ids.id\n", :default_badge_grouping_id=>1, :trigger=>2, :system=>true}
  6798. - Badge {:id=>15, :default_name=>"First Quote", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>" SELECT ids.user_id, q.post_id, q.created_at granted_at\n FROM\n (\n SELECT p1.user_id, MIN(q1.id) id\n FROM quoted_posts q1\n JOIN badge_posts p1 ON p1.id = q1.post_id\n JOIN badge_posts p2 ON p2.id = q1.quoted_post_id\n WHERE (:backfill OR ( p1.id IN (:post_ids) ))\n GROUP BY p1.user_id\n ) ids\n JOIN quoted_posts q ON q.id = ids.id\n", :default_badge_grouping_id=>1, :trigger=>2, :system=>true}
  6799. - Badge {:id=>11, :default_name=>"First Like", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>" SELECT pa1.user_id, pa1.created_at granted_at, pa1.post_id\n FROM (\n SELECT pa.user_id, min(pa.id) id\n FROM post_actions pa\n JOIN badge_posts p on p.id = pa.post_id\n WHERE post_action_type_id = 2 AND\n (:backfill OR pa.post_id IN (:post_ids) )\n GROUP BY pa.user_id\n ) x\n JOIN post_actions pa1 on pa1.id = x.id\n", :default_badge_grouping_id=>1, :trigger=>1, :system=>true}
  6800. - Badge {:id=>13, :default_name=>"First Flag", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>false, :query=>" SELECT pa1.user_id, pa1.created_at granted_at, pa1.post_id\n FROM (\n SELECT pa.user_id, min(pa.id) id\n FROM post_actions pa\n JOIN badge_posts p on p.id = pa.post_id\n WHERE post_action_type_id IN (3,4,7,8) AND\n (:backfill OR pa.post_id IN (:post_ids) )\n GROUP BY pa.user_id\n ) x\n JOIN post_actions pa1 on pa1.id = x.id\n", :default_badge_grouping_id=>2, :trigger=>1, :auto_revoke=>false, :system=>true}
  6801. - Badge {:id=>25, :default_name=>"Promoter", :default_icon=>"fa-user-plus", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"\n SELECT u.id user_id, current_timestamp granted_at\n FROM users u\n WHERE u.id IN (\n SELECT invited_by_id\n FROM invites i\n JOIN users u2 ON u2.id = i.user_id\n WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= 0 AND not u2.blocked\n GROUP BY invited_by_id\n HAVING COUNT(*) >= 1\n ) AND u.active AND NOT u.blocked AND u.id > 0 AND\n (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>true, :system=>true}
  6802. - Badge {:id=>26, :default_name=>"Campaigner", :default_icon=>"fa-user-plus", :badge_type_id=>2, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"\n SELECT u.id user_id, current_timestamp granted_at\n FROM users u\n WHERE u.id IN (\n SELECT invited_by_id\n FROM invites i\n JOIN users u2 ON u2.id = i.user_id\n WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= 1 AND not u2.blocked\n GROUP BY invited_by_id\n HAVING COUNT(*) >= 3\n ) AND u.active AND NOT u.blocked AND u.id > 0 AND\n (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>true, :system=>true}
  6803. - Badge {:id=>27, :default_name=>"Champion", :default_icon=>"fa-user-plus", :badge_type_id=>1, :multiple_grant=>false, :target_posts=>false, :show_posts=>false, :query=>"\n SELECT u.id user_id, current_timestamp granted_at\n FROM users u\n WHERE u.id IN (\n SELECT invited_by_id\n FROM invites i\n JOIN users u2 ON u2.id = i.user_id\n WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= 2 AND not u2.blocked\n GROUP BY invited_by_id\n HAVING COUNT(*) >= 5\n ) AND u.active AND NOT u.blocked AND u.id > 0 AND\n (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>true, :system=>true}
  6804. - Badge {:id=>12, :default_name=>"First Share", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>" SELECT views.user_id, i2.post_id, i2.created_at granted_at\n FROM\n (\n SELECT i.user_id, MIN(i.id) i_id\n FROM incoming_links i\n JOIN badge_posts p on p.id = i.post_id\n WHERE i.user_id IS NOT NULL\n GROUP BY i.user_id\n ) as views\n JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>1, :trigger=>0, :system=>true}
  6805. - Badge {:id=>21, :default_name=>"Nice Share", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>" SELECT views.user_id, i2.post_id, i2.created_at granted_at\n FROM\n (\n SELECT i.user_id, MIN(i.id) i_id\n FROM incoming_links i\n JOIN badge_posts p on p.id = i.post_id\n WHERE i.user_id IS NOT NULL\n GROUP BY i.user_id,i.post_id\n HAVING COUNT(*) > 25\n ) as views\n JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
  6806. - Badge {:id=>22, :default_name=>"Good Share", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>" SELECT views.user_id, i2.post_id, i2.created_at granted_at\n FROM\n (\n SELECT i.user_id, MIN(i.id) i_id\n FROM incoming_links i\n JOIN badge_posts p on p.id = i.post_id\n WHERE i.user_id IS NOT NULL\n GROUP BY i.user_id,i.post_id\n HAVING COUNT(*) > 300\n ) as views\n JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
  6807. - Badge {:id=>23, :default_name=>"Great Share", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>" SELECT views.user_id, i2.post_id, i2.created_at granted_at\n FROM\n (\n SELECT i.user_id, MIN(i.id) i_id\n FROM incoming_links i\n JOIN badge_posts p on p.id = i.post_id\n WHERE i.user_id IS NOT NULL\n GROUP BY i.user_id,i.post_id\n HAVING COUNT(*) > 1000\n ) as views\n JOIN incoming_links i2 ON i2.id = views.i_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
  6808. - Badge {:id=>5, :default_name=>"Welcome", :badge_type_id=>3, :multiple_grant=>false, :target_posts=>true, :show_posts=>true, :query=>" SELECT p.user_id, min(post_id) post_id, min(pa.created_at) granted_at\n FROM post_actions pa\n JOIN badge_posts p on p.id = pa.post_id\n WHERE post_action_type_id = 2 AND\n (:backfill OR pa.post_id IN (:post_ids) )\n GROUP BY p.user_id\n", :default_badge_grouping_id=>2, :trigger=>1, :system=>true}
  6809. - Badge {:id=>9, :default_name=>"Autobiographer", :badge_type_id=>3, :multiple_grant=>false, :query=>" SELECT u.id user_id, current_timestamp granted_at\n FROM users u\n JOIN user_profiles up on u.id = up.user_id\n WHERE bio_raw IS NOT NULL AND LENGTH(TRIM(bio_raw)) > 10 AND\n uploaded_avatar_id IS NOT NULL AND\n (:backfill OR u.id IN (:user_ids) )\n", :default_badge_grouping_id=>1, :trigger=>8, :system=>true}
  6810. - Badge {:id=>10, :default_name=>"Editor", :badge_type_id=>3, :multiple_grant=>false, :query=>" SELECT p.user_id, min(p.id) post_id, min(p.created_at) granted_at\n FROM badge_posts p\n WHERE p.self_edits > 0 AND\n (:backfill OR p.id IN (:post_ids) )\n GROUP BY p.user_id\n", :default_badge_grouping_id=>2, :trigger=>2, :system=>true}
  6811. - Badge {:id=>6, :default_name=>"Nice Post", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n SELECT p.user_id, p.id post_id, p.updated_at granted_at\n FROM badge_posts p\n WHERE p.post_number > 1 AND p.like_count >= 10 AND\n (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
  6812. - Badge {:id=>7, :default_name=>"Good Post", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n SELECT p.user_id, p.id post_id, p.updated_at granted_at\n FROM badge_posts p\n WHERE p.post_number > 1 AND p.like_count >= 25 AND\n (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
  6813. - Badge {:id=>8, :default_name=>"Great Post", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n SELECT p.user_id, p.id post_id, p.updated_at granted_at\n FROM badge_posts p\n WHERE p.post_number > 1 AND p.like_count >= 50 AND\n (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
  6814. - Badge {:id=>18, :default_name=>"Nice Topic", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n SELECT p.user_id, p.id post_id, p.updated_at granted_at\n FROM badge_posts p\n WHERE p.post_number = 1 AND p.like_count >= 10 AND\n (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
  6815. - Badge {:id=>19, :default_name=>"Good Topic", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n SELECT p.user_id, p.id post_id, p.updated_at granted_at\n FROM badge_posts p\n WHERE p.post_number = 1 AND p.like_count >= 25 AND\n (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
  6816. - Badge {:id=>20, :default_name=>"Great Topic", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>"\n SELECT p.user_id, p.id post_id, p.updated_at granted_at\n FROM badge_posts p\n WHERE p.post_number = 1 AND p.like_count >= 50 AND\n (:backfill OR p.id IN (:post_ids) )\n", :default_badge_grouping_id=>3, :trigger=>1, :system=>true}
  6817. - Badge {:id=>24, :default_name=>"Anniversary", :default_icon=>"fa-clock-o", :badge_type_id=>2, :query=>" SELECT u.id AS user_id, MIN(u.created_at + interval '1 year') AS granted_at\n FROM users u\n JOIN posts p ON p.user_id = u.id\n WHERE u.id > 0\n AND u.active\n AND NOT u.blocked\n AND u.created_at + interval '1 year' < now()\n AND p.deleted_at IS NULL\n AND NOT p.hidden\n AND p.created_at + interval '1 year' > now()\n AND (:backfill OR u.id IN (:user_ids))\n GROUP BY u.id\n HAVING COUNT(p.id) > 0\n", :default_badge_grouping_id=>2, :trigger=>0, :auto_revoke=>false, :system=>true}
  6818. - Badge {:id=>28, :default_name=>"Popular Link", :badge_type_id=>3, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>" SELECT tl.user_id, post_id, MIN(tl.created_at) granted_at\n FROM topic_links tl\n JOIN posts p ON p.id = post_id AND p.deleted_at IS NULL\n JOIN topics t ON t.id = p.topic_id AND t.deleted_at IS NULL AND t.archetype <> 'private_message'\n WHERE NOT tl.internal\n AND tl.clicks >= 50\n GROUP BY tl.user_id, tl.post_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
  6819. - Badge {:id=>29, :default_name=>"Hot Link", :badge_type_id=>2, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>" SELECT tl.user_id, post_id, MIN(tl.created_at) granted_at\n FROM topic_links tl\n JOIN posts p ON p.id = post_id AND p.deleted_at IS NULL\n JOIN topics t ON t.id = p.topic_id AND t.deleted_at IS NULL AND t.archetype <> 'private_message'\n WHERE NOT tl.internal\n AND tl.clicks >= 300\n GROUP BY tl.user_id, tl.post_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
  6820. - Badge {:id=>30, :default_name=>"Famous Link", :badge_type_id=>1, :multiple_grant=>true, :target_posts=>true, :show_posts=>true, :query=>" SELECT tl.user_id, post_id, MIN(tl.created_at) granted_at\n FROM topic_links tl\n JOIN posts p ON p.id = post_id AND p.deleted_at IS NULL\n JOIN topics t ON t.id = p.topic_id AND t.deleted_at IS NULL AND t.archetype <> 'private_message'\n WHERE NOT tl.internal\n AND tl.clicks >= 1000\n GROUP BY tl.user_id, tl.post_id\n", :default_badge_grouping_id=>2, :trigger=>0, :system=>true}
  6821.  
  6822. == Seed from /var/www/discourse/db/fixtures/009_users.rb
  6823. - User {:id=>-1, :name=>"system", :username=>"system", :username_lower=>"system", :email=>"no_email", :password=>"a79a9f0fe40f7fcf98a9d38fcfda781b", :active=>true, :admin=>true, :moderator=>true, :approved=>true, :trust_level=>4}
  6824.  
  6825. == Seed from /var/www/discourse/db/fixtures/500_lounge_category.rb
  6826.  
  6827. == Seed from /var/www/discourse/db/fixtures/501_meta_category.rb
  6828.  
  6829. == Seed from /var/www/discourse/db/fixtures/502_staff_category.rb
  6830.  
  6831. == Seed from /var/www/discourse/db/fixtures/999_settings.rb
  6832.  
  6833. == Seed from /var/www/discourse/db/fixtures/999_topics.rb
  6834. Seeding welcome topics
  6835.  
  6836. I, [2016-02-18T06:49:36.504384 #37] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile'
  6837. I, [2016-02-18T06:49:41.797307 #1265] INFO -- : Writing /var/www/discourse/public/assets/FontAwesome-1c0a94dc5e8a8d9db04e357eaaa388b9.otf
  6838. I, [2016-02-18T06:49:41.799509 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-e2f6015310d7f63fa1537ab9822f1446.eot
  6839. I, [2016-02-18T06:49:41.801939 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-827f7401e861ad6d7323e0b6be200412.svg
  6840. I, [2016-02-18T06:49:41.804145 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-f436f853ea7573a6b623eea9bc9d66ec.ttf
  6841. I, [2016-02-18T06:49:41.806016 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-90e687312466f7a4993c85399c116f2f.woff
  6842. I, [2016-02-18T06:49:41.807847 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-6d0ddb44b6016bd7adf993e5b9d47ae6.woff2
  6843. I, [2016-02-18T06:49:41.809528 #1265] INFO -- : Writing /var/www/discourse/public/assets/chosen-sprite-8a7b0de8c79afad2d63363d145d7bf88.png
  6844. I, [2016-02-18T06:49:41.811175 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicon-16465536d00aeb9da2ca290e11c392b4.ico
  6845. I, [2016-02-18T06:49:41.812800 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/1282043220-favicon-441c1164492cfd82fcb1354eaacd429d.ico
  6846. I, [2016-02-18T06:49:41.814365 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/amazon-39970d950fbaec1718160041d85360bf.png
  6847. I, [2016-02-18T06:49:41.815895 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/apple-c309549cf49f942dc8e215a7b226e04e.png
  6848. I, [2016-02-18T06:49:41.817418 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/discourse-86a574c39af8a8a91ceb1653864f4075.png
  6849. I, [2016-02-18T06:49:41.818941 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/github-5fa3b2ccc92f5b98d37a0659af27fd10.png
  6850. I, [2016-02-18T06:49:41.820542 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_calendar_128px-679d97c594e49c2516d6e4148f3a199d.png
  6851. I, [2016-02-18T06:49:41.822109 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_docs_128px-8b10c5191f70ff981fafa1a0d02da504.png
  6852. I, [2016-02-18T06:49:41.823650 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_drive_128px-d022b8b148413a46ca0e479fd8e13c9e.png
  6853. I, [2016-02-18T06:49:41.825209 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_forms_128px-e008b7b0bd34786ded7f217618880a15.png
  6854. I, [2016-02-18T06:49:41.826741 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_sheets_128px-0be10a0e4a2de055b10947c45773ff48.png
  6855. I, [2016-02-18T06:49:41.828312 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_slides_128px-5f691996aeaca4ca52c176ebb53d9def.png
  6856. I, [2016-02-18T06:49:41.829846 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_play-98295ccf28cf32625e7ac1c911e0fca8.png
  6857. I, [2016-02-18T06:49:41.831381 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/rottentomatoes-b74810e5dc40fba50327844156787af9.png
  6858. I, [2016-02-18T06:49:41.832862 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/stackexchange-a6cbc6e0306560317a954c30f212f975.png
  6859. I, [2016-02-18T06:49:41.834404 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/twitter-9389be3611fd4dc8c32adb5a7b1ae0de.png
  6860. I, [2016-02-18T06:49:41.835917 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/wikipedia-0de28d211999427f24ae8b5a840f2935.png
  6861. I, [2016-02-18T06:49:41.837594 #1265] INFO -- : Writing /var/www/discourse/public/assets/grippie-d28a6f65e22c0033dcf0d63883bcc590.png
  6862. I, [2016-02-18T06:49:41.839171 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-dev-ff0fcd6922e8e1aa031304b1d3e424a6.png
  6863. I, [2016-02-18T06:49:41.840816 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-single-dev-76ec62e48f4251d3fa00e42a29ae753b.png
  6864. I, [2016-02-18T06:49:41.842410 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-single-de2a438ad98c6df5f93ac6ac57f0c9f3.png
  6865. I, [2016-02-18T06:49:41.844028 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-50f2863a2f5ecac8825ee69b11dcfdbb.png
  6866. I, [2016-02-18T06:49:41.845629 #1265] INFO -- : Writing /var/www/discourse/public/assets/select2-spinner-65869c1d0a2498dd002aa563048a2253.gif
  6867. I, [2016-02-18T06:49:41.847219 #1265] INFO -- : Writing /var/www/discourse/public/assets/select2-20942152ca4c9717f914877da87804af.png
  6868. I, [2016-02-18T06:49:41.848822 #1265] INFO -- : Writing /var/www/discourse/public/assets/select2x2-c0736823da71c0955b2fb807af671f0a.png
  6869. I, [2016-02-18T06:49:41.850504 #1265] INFO -- : Writing /var/www/discourse/public/assets/spinner_96-8091be87c9cf1abef73e3899ec7645c1.gif
  6870. I, [2016-02-18T06:49:48.405986 #1265] INFO -- : Writing /var/www/discourse/public/assets/admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js
  6871. I, [2016-02-18T06:50:08.794984 #1265] INFO -- : Writing /var/www/discourse/public/assets/application-5cf0b16a612f75ce53e42cd7fd56e8a2.js
  6872. I, [2016-02-18T06:50:08.805216 #1265] INFO -- : Writing /var/www/discourse/public/assets/defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js
  6873. I, [2016-02-18T06:50:08.807428 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js
  6874. I, [2016-02-18T06:50:08.809417 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js
  6875. I, [2016-02-18T06:50:08.811417 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js
  6876. I, [2016-02-18T06:50:08.813306 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js
  6877. I, [2016-02-18T06:50:08.815236 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js
  6878. I, [2016-02-18T06:50:08.817098 #1265] INFO -- : Writing /var/www/discourse/public/assets/docs/yuidoc-cf304cb678763161e669e0722ddaf1c6.json
  6879. I, [2016-02-18T06:50:08.875841 #1265] INFO -- : Writing /var/www/discourse/public/assets/ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js
  6880. I, [2016-02-18T06:50:09.230429 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ar-dc101ccf0b407917701c8ed0c350b756.js
  6881. I, [2016-02-18T06:50:09.345968 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js
  6882. I, [2016-02-18T06:50:09.655582 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/cs-2398b6ec5888506f6d87daa085a182a4.js
  6883. I, [2016-02-18T06:50:09.791929 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/da-0df5e9318426ecdc6375614a8987da7b.js
  6884. I, [2016-02-18T06:50:10.052389 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/de-eae17ec34ef3a04ec460b978869440c1.js
  6885. I, [2016-02-18T06:50:10.167032 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/en-b71b52b0aa1b732690cc275d6416898c.js
  6886. I, [2016-02-18T06:50:10.330131 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/es-0e031fe56aea9902b0870fa77610735b.js
  6887. I, [2016-02-18T06:50:10.695133 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js
  6888. I, [2016-02-18T06:50:10.880198 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/fi-52c503c2f7c18c6567d14860f06cd788.js
  6889. I, [2016-02-18T06:50:11.156009 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/fr-752b773185e8fb9c0d29da11e88d606e.js
  6890. I, [2016-02-18T06:50:11.312157 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/he-4fb5401147736c457a1c42dd2d66c3a8.js
  6891. I, [2016-02-18T06:50:11.374119 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/id-ea3228838fb7d396c072835b96620c1c.js
  6892. I, [2016-02-18T06:50:11.677299 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/it-50da264ff04d4e72e035823a8ec32e3f.js
  6893. I, [2016-02-18T06:50:11.814085 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ja-278d1db9eaac41dd70fd017129461f8e.js
  6894. I, [2016-02-18T06:50:11.947348 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js
  6895. I, [2016-02-18T06:50:12.218109 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js
  6896. I, [2016-02-18T06:50:12.355877 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/nl-ab58be67dec62126261d2bcb25200133.js
  6897. I, [2016-02-18T06:50:12.634284 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js
  6898. I, [2016-02-18T06:50:12.782111 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/pt-1059cc8387192d2ad61e6a7cca411207.js
  6899. I, [2016-02-18T06:50:12.914191 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js
  6900. I, [2016-02-18T06:50:13.208571 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ro-e9df33f70943931e3625855ca1e6d97a.js
  6901. I, [2016-02-18T06:50:13.371407 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ru-3197fd82c33f359fb4d140d44b5553e4.js
  6902. I, [2016-02-18T06:50:13.701673 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js
  6903. I, [2016-02-18T06:50:13.852855 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/sq-eea77b1df50211f4357f6132174bad43.js
  6904. I, [2016-02-18T06:50:13.980031 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js
  6905. I, [2016-02-18T06:50:14.264036 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js
  6906. I, [2016-02-18T06:50:14.412396 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js
  6907. I, [2016-02-18T06:50:14.506706 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js
  6908. I, [2016-02-18T06:50:14.830792 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js
  6909. I, [2016-02-18T06:50:14.956850 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js
  6910. I, [2016-02-18T06:50:14.961566 #1265] INFO -- : Writing /var/www/discourse/public/assets/preload_store-d16a3675434b5a0043157cfc2b850471.js
  6911. I, [2016-02-18T06:50:15.387589 #1265] INFO -- : Writing /var/www/discourse/public/assets/vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js
  6912. I, [2016-02-18T06:50:16.941906 #1265] INFO -- : Writing /var/www/discourse/public/assets/admin-b10cbaaa7e807f2c3a5dc0932f0353b5.css
  6913. I, [2016-02-18T06:50:21.995402 #1265] INFO -- : Writing /var/www/discourse/public/assets/common-7726d195c92c19641f2b00c91cfee999.css
  6914. I, [2016-02-18T06:50:28.558806 #1265] INFO -- : Writing /var/www/discourse/public/assets/desktop-483f057609d13c31531e38a77dadd8c6.css
  6915. I, [2016-02-18T06:50:29.058850 #1265] INFO -- : Writing /var/www/discourse/public/assets/embed-68c3f23ae6943a02623724dfa68fca58.css
  6916. I, [2016-02-18T06:50:34.810593 #1265] INFO -- : Writing /var/www/discourse/public/assets/mobile-4f3b0e9eca2204681f6b4ef52e479d3a.css
  6917. I, [2016-02-18T06:50:34.813792 #1265] INFO -- : Writing /var/www/discourse/public/assets/break_string-acd906f9185938240ab8b1b796f21d89.js
  6918. I, [2016-02-18T06:50:34.819303 #1265] INFO -- : Writing /var/www/discourse/public/assets/browser-update-1b088c371e098d02d2b87570660d5d68.js
  6919. I, [2016-02-18T06:50:36.429498 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-app-8a0a3f6df0a793205c4853458093b9cf.css
  6920. I, [2016-02-18T06:50:36.437317 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-app-fc45ae9f5dc46a536ad03487a4ce173f.js
  6921. I, [2016-02-18T06:50:36.606706 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-vendor-990e81f2e0703738823fe5de31b92060.css
  6922. I, [2016-02-18T06:50:36.625881 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-vendor-e62406a2f5676e280b40622751069e76.js
  6923. I, [2016-02-18T06:50:36.630687 #1265] INFO -- : Writing /var/www/discourse/public/assets/images/docker-manager-ea64623b074c8ec2b0303bae846e21e6.png
  6924. Start compiling CSS: 2016-02-18 06:50:36 UTC
  6925. Compiling css for default
  6926. target: desktop desktop_38ea7146d8926b91be29c58071f4246ad6e1413c.css
  6927. target: mobile mobile_38ea7146d8926b91be29c58071f4246ad6e1413c.css
  6928. target: desktop_rtl desktop_rtl_38ea7146d8926b91be29c58071f4246ad6e1413c.css
  6929. target: mobile_rtl mobile_rtl_38ea7146d8926b91be29c58071f4246ad6e1413c.css
  6930. Done compiling CSS: 2016-02-18 06:50:54 UTC
  6931. Compressing: admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js
  6932. uglifyjs '/var/www/discourse/public/assets/_admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js' -p relative -c -m -o '/var/www/discourse/public/assets/admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js' --source-map-root '/assets' --source-map '/var/www/discourse/public/assets/admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js.map' --source-map-url '/assets/admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js.map'
  6933. gzip /var/www/discourse/public/assets/admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js
  6934.  
  6935. Compressing: application-5cf0b16a612f75ce53e42cd7fd56e8a2.js
  6936. uglifyjs '/var/www/discourse/public/assets/_application-5cf0b16a612f75ce53e42cd7fd56e8a2.js' -p relative -c -m -o '/var/www/discourse/public/assets/application-5cf0b16a612f75ce53e42cd7fd56e8a2.js' --source-map-root '/assets' --source-map '/var/www/discourse/public/assets/application-5cf0b16a612f75ce53e42cd7fd56e8a2.js.map' --source-map-url '/assets/application-5cf0b16a612f75ce53e42cd7fd56e8a2.js.map'
  6937. gzip /var/www/discourse/public/assets/application-5cf0b16a612f75ce53e42cd7fd56e8a2.js
  6938.  
  6939. Compressing: defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js
  6940. uglifyjs '/var/www/discourse/public/assets/defer/_html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js' -p relative -c -m -o '/var/www/discourse/public/assets/defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js' --source-map-root '/assets/defer' --source-map '/var/www/discourse/public/assets/defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js.map' --source-map-url '/assets/defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js.map'
  6941. gzip /var/www/discourse/public/assets/defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js
  6942.  
  6943. Compressing: discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js
  6944. uglifyjs '/var/www/discourse/public/assets/discourse/controllers/_application-8ec18ff701141e453a5a336f3a4b00f1.js' -p relative -c -m -o '/var/www/discourse/public/assets/discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js' --source-map-root '/assets/discourse/controllers' --source-map '/var/www/discourse/public/assets/discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js.map' --source-map-url '/assets/discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js.map'
  6945. gzip /var/www/discourse/public/assets/discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js
  6946.  
  6947. Compressing: discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js
  6948. uglifyjs '/var/www/discourse/public/assets/discourse/helpers/_application-1229be3e4d538a88468d81cd890dda26.js' -p relative -c -m -o '/var/www/discourse/public/assets/discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js' --source-map-root '/assets/discourse/helpers' --source-map '/var/www/discourse/public/assets/discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js.map' --source-map-url '/assets/discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js.map'
  6949. gzip /var/www/discourse/public/assets/discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js
  6950.  
  6951. Compressing: discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js
  6952. uglifyjs '/var/www/discourse/public/assets/discourse/routes/_application-5f552c59c99f40a3576e0c0f71e1637c.js' -p relative -c -m -o '/var/www/discourse/public/assets/discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js' --source-map-root '/assets/discourse/routes' --source-map '/var/www/discourse/public/assets/discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js.map' --source-map-url '/assets/discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js.map'
  6953. gzip /var/www/discourse/public/assets/discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js
  6954.  
  6955. Compressing: discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js
  6956. uglifyjs '/var/www/discourse/public/assets/discourse/templates/_application-946a53f6833af9d1f41c98f65f8786e1.js' -p relative -c -m -o '/var/www/discourse/public/assets/discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js' --source-map-root '/assets/discourse/templates' --source-map '/var/www/discourse/public/assets/discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js.map' --source-map-url '/assets/discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js.map'
  6957. gzip /var/www/discourse/public/assets/discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js
  6958.  
  6959. Compressing: discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js
  6960. uglifyjs '/var/www/discourse/public/assets/discourse/views/_application-4829ac46be9a412a82f2878a8d83586d.js' -p relative -c -m -o '/var/www/discourse/public/assets/discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js' --source-map-root '/assets/discourse/views' --source-map '/var/www/discourse/public/assets/discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js.map' --source-map-url '/assets/discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js.map'
  6961. gzip /var/www/discourse/public/assets/discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js
  6962.  
  6963. Compressing: ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js
  6964. uglifyjs '/var/www/discourse/public/assets/_ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js' -p relative -c -m -o '/var/www/discourse/public/assets/ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js' --source-map-root '/assets' --source-map '/var/www/discourse/public/assets/ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js.map' --source-map-url '/assets/ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js.map'
  6965. gzip /var/www/discourse/public/assets/ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js
  6966.  
  6967. Compressing: locales/ar-dc101ccf0b407917701c8ed0c350b756.js
  6968. uglifyjs '/var/www/discourse/public/assets/locales/_ar-dc101ccf0b407917701c8ed0c350b756.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/ar-dc101ccf0b407917701c8ed0c350b756.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/ar-dc101ccf0b407917701c8ed0c350b756.js.map' --source-map-url '/assets/locales/ar-dc101ccf0b407917701c8ed0c350b756.js.map'
  6969. gzip /var/www/discourse/public/assets/locales/ar-dc101ccf0b407917701c8ed0c350b756.js
  6970.  
  6971. Compressing: locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js
  6972. uglifyjs '/var/www/discourse/public/assets/locales/_bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js.map' --source-map-url '/assets/locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js.map'
  6973. gzip /var/www/discourse/public/assets/locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js
  6974.  
  6975. Compressing: locales/cs-2398b6ec5888506f6d87daa085a182a4.js
  6976. uglifyjs '/var/www/discourse/public/assets/locales/_cs-2398b6ec5888506f6d87daa085a182a4.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/cs-2398b6ec5888506f6d87daa085a182a4.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/cs-2398b6ec5888506f6d87daa085a182a4.js.map' --source-map-url '/assets/locales/cs-2398b6ec5888506f6d87daa085a182a4.js.map'
  6977. gzip /var/www/discourse/public/assets/locales/cs-2398b6ec5888506f6d87daa085a182a4.js
  6978.  
  6979. Compressing: locales/da-0df5e9318426ecdc6375614a8987da7b.js
  6980. uglifyjs '/var/www/discourse/public/assets/locales/_da-0df5e9318426ecdc6375614a8987da7b.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/da-0df5e9318426ecdc6375614a8987da7b.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/da-0df5e9318426ecdc6375614a8987da7b.js.map' --source-map-url '/assets/locales/da-0df5e9318426ecdc6375614a8987da7b.js.map'
  6981. gzip /var/www/discourse/public/assets/locales/da-0df5e9318426ecdc6375614a8987da7b.js
  6982.  
  6983. Compressing: locales/de-eae17ec34ef3a04ec460b978869440c1.js
  6984. uglifyjs '/var/www/discourse/public/assets/locales/_de-eae17ec34ef3a04ec460b978869440c1.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/de-eae17ec34ef3a04ec460b978869440c1.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/de-eae17ec34ef3a04ec460b978869440c1.js.map' --source-map-url '/assets/locales/de-eae17ec34ef3a04ec460b978869440c1.js.map'
  6985. gzip /var/www/discourse/public/assets/locales/de-eae17ec34ef3a04ec460b978869440c1.js
  6986.  
  6987. Compressing: locales/en-b71b52b0aa1b732690cc275d6416898c.js
  6988. uglifyjs '/var/www/discourse/public/assets/locales/_en-b71b52b0aa1b732690cc275d6416898c.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/en-b71b52b0aa1b732690cc275d6416898c.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/en-b71b52b0aa1b732690cc275d6416898c.js.map' --source-map-url '/assets/locales/en-b71b52b0aa1b732690cc275d6416898c.js.map'
  6989. gzip /var/www/discourse/public/assets/locales/en-b71b52b0aa1b732690cc275d6416898c.js
  6990.  
  6991. Compressing: locales/es-0e031fe56aea9902b0870fa77610735b.js
  6992. uglifyjs '/var/www/discourse/public/assets/locales/_es-0e031fe56aea9902b0870fa77610735b.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/es-0e031fe56aea9902b0870fa77610735b.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/es-0e031fe56aea9902b0870fa77610735b.js.map' --source-map-url '/assets/locales/es-0e031fe56aea9902b0870fa77610735b.js.map'
  6993. gzip /var/www/discourse/public/assets/locales/es-0e031fe56aea9902b0870fa77610735b.js
  6994.  
  6995. Compressing: locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js
  6996. uglifyjs '/var/www/discourse/public/assets/locales/_fa_IR-0e3dee4a93e68933a8484f1467e6626b.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js.map' --source-map-url '/assets/locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js.map'
  6997. gzip /var/www/discourse/public/assets/locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js
  6998.  
  6999. Compressing: locales/fi-52c503c2f7c18c6567d14860f06cd788.js
  7000. uglifyjs '/var/www/discourse/public/assets/locales/_fi-52c503c2f7c18c6567d14860f06cd788.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/fi-52c503c2f7c18c6567d14860f06cd788.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/fi-52c503c2f7c18c6567d14860f06cd788.js.map' --source-map-url '/assets/locales/fi-52c503c2f7c18c6567d14860f06cd788.js.map'
  7001. gzip /var/www/discourse/public/assets/locales/fi-52c503c2f7c18c6567d14860f06cd788.js
  7002.  
  7003. Compressing: locales/fr-752b773185e8fb9c0d29da11e88d606e.js
  7004. uglifyjs '/var/www/discourse/public/assets/locales/_fr-752b773185e8fb9c0d29da11e88d606e.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/fr-752b773185e8fb9c0d29da11e88d606e.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/fr-752b773185e8fb9c0d29da11e88d606e.js.map' --source-map-url '/assets/locales/fr-752b773185e8fb9c0d29da11e88d606e.js.map'
  7005. gzip /var/www/discourse/public/assets/locales/fr-752b773185e8fb9c0d29da11e88d606e.js
  7006.  
  7007. Compressing: locales/he-4fb5401147736c457a1c42dd2d66c3a8.js
  7008. uglifyjs '/var/www/discourse/public/assets/locales/_he-4fb5401147736c457a1c42dd2d66c3a8.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/he-4fb5401147736c457a1c42dd2d66c3a8.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/he-4fb5401147736c457a1c42dd2d66c3a8.js.map' --source-map-url '/assets/locales/he-4fb5401147736c457a1c42dd2d66c3a8.js.map'
  7009. gzip /var/www/discourse/public/assets/locales/he-4fb5401147736c457a1c42dd2d66c3a8.js
  7010.  
  7011. Compressing: locales/id-ea3228838fb7d396c072835b96620c1c.js
  7012. uglifyjs '/var/www/discourse/public/assets/locales/_id-ea3228838fb7d396c072835b96620c1c.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/id-ea3228838fb7d396c072835b96620c1c.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/id-ea3228838fb7d396c072835b96620c1c.js.map' --source-map-url '/assets/locales/id-ea3228838fb7d396c072835b96620c1c.js.map'
  7013. gzip /var/www/discourse/public/assets/locales/id-ea3228838fb7d396c072835b96620c1c.js
  7014.  
  7015. Compressing: locales/it-50da264ff04d4e72e035823a8ec32e3f.js
  7016. uglifyjs '/var/www/discourse/public/assets/locales/_it-50da264ff04d4e72e035823a8ec32e3f.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/it-50da264ff04d4e72e035823a8ec32e3f.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/it-50da264ff04d4e72e035823a8ec32e3f.js.map' --source-map-url '/assets/locales/it-50da264ff04d4e72e035823a8ec32e3f.js.map'
  7017. gzip /var/www/discourse/public/assets/locales/it-50da264ff04d4e72e035823a8ec32e3f.js
  7018.  
  7019. Compressing: locales/ja-278d1db9eaac41dd70fd017129461f8e.js
  7020. uglifyjs '/var/www/discourse/public/assets/locales/_ja-278d1db9eaac41dd70fd017129461f8e.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/ja-278d1db9eaac41dd70fd017129461f8e.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/ja-278d1db9eaac41dd70fd017129461f8e.js.map' --source-map-url '/assets/locales/ja-278d1db9eaac41dd70fd017129461f8e.js.map'
  7021. gzip /var/www/discourse/public/assets/locales/ja-278d1db9eaac41dd70fd017129461f8e.js
  7022.  
  7023. Compressing: locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js
  7024. uglifyjs '/var/www/discourse/public/assets/locales/_ko-d6e93b1a3a0951a63c932448a35ebd6b.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js.map' --source-map-url '/assets/locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js.map'
  7025. gzip /var/www/discourse/public/assets/locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js
  7026.  
  7027. Compressing: locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js
  7028. uglifyjs '/var/www/discourse/public/assets/locales/_nb_NO-6f8966ae134213aaff129a1283963b9b.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js.map' --source-map-url '/assets/locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js.map'
  7029. gzip /var/www/discourse/public/assets/locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js
  7030.  
  7031. Compressing: locales/nl-ab58be67dec62126261d2bcb25200133.js
  7032. uglifyjs '/var/www/discourse/public/assets/locales/_nl-ab58be67dec62126261d2bcb25200133.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/nl-ab58be67dec62126261d2bcb25200133.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/nl-ab58be67dec62126261d2bcb25200133.js.map' --source-map-url '/assets/locales/nl-ab58be67dec62126261d2bcb25200133.js.map'
  7033. gzip /var/www/discourse/public/assets/locales/nl-ab58be67dec62126261d2bcb25200133.js
  7034.  
  7035. Compressing: locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js
  7036. uglifyjs '/var/www/discourse/public/assets/locales/_pl_PL-a724b438fd7fc80016538327fea3a39b.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js.map' --source-map-url '/assets/locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js.map'
  7037. gzip /var/www/discourse/public/assets/locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js
  7038.  
  7039. Compressing: locales/pt-1059cc8387192d2ad61e6a7cca411207.js
  7040. uglifyjs '/var/www/discourse/public/assets/locales/_pt-1059cc8387192d2ad61e6a7cca411207.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/pt-1059cc8387192d2ad61e6a7cca411207.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/pt-1059cc8387192d2ad61e6a7cca411207.js.map' --source-map-url '/assets/locales/pt-1059cc8387192d2ad61e6a7cca411207.js.map'
  7041. gzip /var/www/discourse/public/assets/locales/pt-1059cc8387192d2ad61e6a7cca411207.js
  7042.  
  7043. Compressing: locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js
  7044. uglifyjs '/var/www/discourse/public/assets/locales/_pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js.map' --source-map-url '/assets/locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js.map'
  7045. gzip /var/www/discourse/public/assets/locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js
  7046.  
  7047. Compressing: locales/ro-e9df33f70943931e3625855ca1e6d97a.js
  7048. uglifyjs '/var/www/discourse/public/assets/locales/_ro-e9df33f70943931e3625855ca1e6d97a.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/ro-e9df33f70943931e3625855ca1e6d97a.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/ro-e9df33f70943931e3625855ca1e6d97a.js.map' --source-map-url '/assets/locales/ro-e9df33f70943931e3625855ca1e6d97a.js.map'
  7049. gzip /var/www/discourse/public/assets/locales/ro-e9df33f70943931e3625855ca1e6d97a.js
  7050.  
  7051. Compressing: locales/ru-3197fd82c33f359fb4d140d44b5553e4.js
  7052. uglifyjs '/var/www/discourse/public/assets/locales/_ru-3197fd82c33f359fb4d140d44b5553e4.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/ru-3197fd82c33f359fb4d140d44b5553e4.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/ru-3197fd82c33f359fb4d140d44b5553e4.js.map' --source-map-url '/assets/locales/ru-3197fd82c33f359fb4d140d44b5553e4.js.map'
  7053. gzip /var/www/discourse/public/assets/locales/ru-3197fd82c33f359fb4d140d44b5553e4.js
  7054.  
  7055. Compressing: locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js
  7056. uglifyjs '/var/www/discourse/public/assets/locales/_sk-7a13c5e96ad399c6e97754a53d3cc130.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js.map' --source-map-url '/assets/locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js.map'
  7057. gzip /var/www/discourse/public/assets/locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js
  7058.  
  7059. Compressing: locales/sq-eea77b1df50211f4357f6132174bad43.js
  7060. uglifyjs '/var/www/discourse/public/assets/locales/_sq-eea77b1df50211f4357f6132174bad43.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/sq-eea77b1df50211f4357f6132174bad43.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/sq-eea77b1df50211f4357f6132174bad43.js.map' --source-map-url '/assets/locales/sq-eea77b1df50211f4357f6132174bad43.js.map'
  7061. gzip /var/www/discourse/public/assets/locales/sq-eea77b1df50211f4357f6132174bad43.js
  7062.  
  7063. Compressing: locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js
  7064. uglifyjs '/var/www/discourse/public/assets/locales/_sv-b3d64db6ef7da03f1e8abb8467a3282d.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js.map' --source-map-url '/assets/locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js.map'
  7065. gzip /var/www/discourse/public/assets/locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js
  7066.  
  7067. Compressing: locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js
  7068. uglifyjs '/var/www/discourse/public/assets/locales/_te-0cecd6baec82b75dc9a6b50dcca637e9.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js.map' --source-map-url '/assets/locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js.map'
  7069. gzip /var/www/discourse/public/assets/locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js
  7070.  
  7071. Compressing: locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js
  7072. uglifyjs '/var/www/discourse/public/assets/locales/_tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js.map' --source-map-url '/assets/locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js.map'
  7073. gzip /var/www/discourse/public/assets/locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js
  7074.  
  7075. Compressing: locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js
  7076. uglifyjs '/var/www/discourse/public/assets/locales/_uk-f8602aa7b9fff12138b0d360f9045ca6.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js.map' --source-map-url '/assets/locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js.map'
  7077. gzip /var/www/discourse/public/assets/locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js
  7078.  
  7079. Compressing: locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js
  7080. uglifyjs '/var/www/discourse/public/assets/locales/_zh_CN-4f4df5b01ae584b10dadae2519083cd1.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js.map' --source-map-url '/assets/locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js.map'
  7081. gzip /var/www/discourse/public/assets/locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js
  7082.  
  7083. Compressing: locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js
  7084. uglifyjs '/var/www/discourse/public/assets/locales/_zh_TW-b360be491f0c952e2c895bcd33c489fd.js' -p relative -c -m -o '/var/www/discourse/public/assets/locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js' --source-map-root '/assets/locales' --source-map '/var/www/discourse/public/assets/locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js.map' --source-map-url '/assets/locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js.map'
  7085. gzip /var/www/discourse/public/assets/locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js
  7086.  
  7087. Compressing: preload_store-d16a3675434b5a0043157cfc2b850471.js
  7088. uglifyjs '/var/www/discourse/public/assets/_preload_store-d16a3675434b5a0043157cfc2b850471.js' -p relative -c -m -o '/var/www/discourse/public/assets/preload_store-d16a3675434b5a0043157cfc2b850471.js' --source-map-root '/assets' --source-map '/var/www/discourse/public/assets/preload_store-d16a3675434b5a0043157cfc2b850471.js.map' --source-map-url '/assets/preload_store-d16a3675434b5a0043157cfc2b850471.js.map'
  7089. gzip /var/www/discourse/public/assets/preload_store-d16a3675434b5a0043157cfc2b850471.js
  7090.  
  7091. Compressing: vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js
  7092. uglifyjs '/var/www/discourse/public/assets/_vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js' -p relative -c -m -o '/var/www/discourse/public/assets/vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js' --source-map-root '/assets' --source-map '/var/www/discourse/public/assets/vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js.map' --source-map-url '/assets/vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js.map'
  7093. gzip /var/www/discourse/public/assets/vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js
  7094.  
  7095. Compressing: break_string-acd906f9185938240ab8b1b796f21d89.js
  7096. uglifyjs '/var/www/discourse/public/assets/_break_string-acd906f9185938240ab8b1b796f21d89.js' -p relative -c -m -o '/var/www/discourse/public/assets/break_string-acd906f9185938240ab8b1b796f21d89.js' --source-map-root '/assets' --source-map '/var/www/discourse/public/assets/break_string-acd906f9185938240ab8b1b796f21d89.js.map' --source-map-url '/assets/break_string-acd906f9185938240ab8b1b796f21d89.js.map'
  7097. gzip /var/www/discourse/public/assets/break_string-acd906f9185938240ab8b1b796f21d89.js
  7098.  
  7099. Compressing: browser-update-1b088c371e098d02d2b87570660d5d68.js
  7100. uglifyjs '/var/www/discourse/public/assets/_browser-update-1b088c371e098d02d2b87570660d5d68.js' -p relative -c -m -o '/var/www/discourse/public/assets/browser-update-1b088c371e098d02d2b87570660d5d68.js' --source-map-root '/assets' --source-map '/var/www/discourse/public/assets/browser-update-1b088c371e098d02d2b87570660d5d68.js.map' --source-map-url '/assets/browser-update-1b088c371e098d02d2b87570660d5d68.js.map'
  7101. gzip /var/www/discourse/public/assets/browser-update-1b088c371e098d02d2b87570660d5d68.js
  7102.  
  7103. Compressing: docker-manager-app-fc45ae9f5dc46a536ad03487a4ce173f.js
  7104. gzip /var/www/discourse/public/assets/docker-manager-app-fc45ae9f5dc46a536ad03487a4ce173f.js
  7105.  
  7106. Compressing: docker-manager-vendor-e62406a2f5676e280b40622751069e76.js
  7107. gzip /var/www/discourse/public/assets/docker-manager-vendor-e62406a2f5676e280b40622751069e76.js
  7108.  
  7109. I, [2016-02-18T06:52:43.633515 #37] INFO -- : Purging temp files
  7110. Bundling assets
  7111. Compressing Javascript and Generating Source Maps
  7112.  
  7113. I, [2016-02-18T06:52:43.645225 #37] INFO -- : File > /usr/local/bin/discourse chmod: +x
  7114. I, [2016-02-18T06:52:43.651339 #37] INFO -- : File > /usr/local/bin/rails chmod: +x
  7115. I, [2016-02-18T06:52:43.657087 #37] INFO -- : File > /usr/local/bin/rake chmod: +x
  7116. I, [2016-02-18T06:52:43.662060 #37] INFO -- : File > /etc/update-motd.d/10-web chmod: +x
  7117. I, [2016-02-18T06:52:43.664942 #37] INFO -- : File > /etc/logrotate.d/rails chmod:
  7118. I, [2016-02-18T06:52:43.668271 #37] INFO -- : File > /etc/logrotate.d/nginx chmod:
  7119. I, [2016-02-18T06:52:43.673494 #37] INFO -- : File > /etc/runit/1.d/00-ensure-links chmod: +x
  7120. I, [2016-02-18T06:52:43.676879 #37] INFO -- : Replacing (?-mix:server.+{) with limit_req_zone $binary_remote_addr zone=flood:10m rate=$reqs_per_secondr/s;
  7121. limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m;
  7122. limit_req_status 429;
  7123. server {
  7124. in /etc/nginx/conf.d/discourse.conf
  7125. I, [2016-02-18T06:52:43.678562 #37] INFO -- : Replacing (?-mix:location @discourse {) with location @discourse {
  7126. limit_req zone=flood burst=$burst_per_second nodelay;
  7127. limit_req zone=bot burst=$burst_per_minute nodelay; in /etc/nginx/conf.d/discourse.conf
  7128. I, [2016-02-18T06:52:43.680288 #37] INFO -- : > echo "Beginning of custom commands"
  7129. I, [2016-02-18T06:52:43.682055 #37] INFO -- : Beginning of custom commands
  7130.  
  7131. I, [2016-02-18T06:52:43.683686 #37] INFO -- : > echo "End of custom commands"
  7132. I, [2016-02-18T06:52:43.685202 #37] INFO -- : End of custom commands
  7133.  
  7134. I, [2016-02-18T06:52:43.686255 #37] INFO -- : Terminating async processes
  7135. I, [2016-02-18T06:52:43.686756 #37] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.3/bin/postmaster -D /etc/postgresql/9.3/main pid: 107
  7136. I, [2016-02-18T06:52:43.687611 #37] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 235
  7137. 235:signal-handler (1455778363) Received SIGTERM scheduling shutdown...
  7138. 2016-02-18 06:52:43 UTC [107-2] LOG: received fast shutdown request
  7139. 2016-02-18 06:52:43 UTC [107-3] LOG: aborting any active transactions
  7140. 2016-02-18 06:52:43 UTC [114-2] LOG: autovacuum launcher shutting down
  7141. 235:M 18 Feb 06:52:43.747 # User requested shutdown...
  7142. 235:M 18 Feb 06:52:43.844 * Saving the final RDB snapshot before exiting.
  7143. 235:M 18 Feb 06:52:43.874 * DB saved on disk
  7144. 235:M 18 Feb 06:52:43.874 # Redis is now ready to exit, bye bye...
  7145. 2016-02-18 06:52:43 UTC [111-1] LOG: shutting down
  7146. 2016-02-18 06:52:43 UTC [111-2] LOG: database system is shut down
  7147. sha256:0a7236e0cd560b6d04dd344ca899eb3c3d867998b327af7fc716fd4140fc43e7
  7148. bb5ad96d1835f9209c5972d714c95276922a16a295657420f7a45b9845714b54
  7149. Successfully bootstrapped, to startup use ./launcher start app
  7150.  
  7151. + /usr/bin/docker run -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=2 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_MALLOC_LIMIT=40000000 -e RUBY_HEAP_MIN_SLOTS=800000 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DEVELOPER_EMAILS=me@example.com -e DISCOURSE_HOSTNAME=2.quantifiedselfforum.com -e DISCOURSE_SMTP_ADDRESS=smtp.mandrillapp.com -h localhost-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log local_discourse/app /sbin/boot
  7152. 53da31f101beda7f8468522ff4c9330f0a4ecd45e70de0732f940a1c652b9378
  7153. root@localhost:/var/discourse#
Advertisement
RAW Paste Data Copied