· 10 years ago · Feb 18, 2016, 07:00 AM
1
2[SSH] Server Version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
3[SSH] Logged in (password)
4
5Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 4.4.0-x86_64-linode63 x86_64)
6
7 * Documentation: https://help.ubuntu.com/
8
9root@localhost:~# wget -qO- https://get.docker.com/ | sh
10modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-x86_64-linode63/modules.dep.bin'
11Warning: 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
16root@localhost:~# ^C
17root@localhost:~# apt-get update
18Ign http://mirrors.linode.com trusty InRelease
19Get:1 http://mirrors.linode.com trusty-updates InRelease [65.9 kB]
20Get:2 http://mirrors.linode.com trusty-backports InRelease [65.9 kB]
21Hit http://mirrors.linode.com trusty Release.gpg
22Hit http://mirrors.linode.com trusty Release
23Get:3 http://mirrors.linode.com trusty-updates/main Sources [260 kB]
24Get:4 http://mirrors.linode.com trusty-updates/restricted Sources [5,351 B]
25Get:5 http://mirrors.linode.com trusty-updates/universe Sources [150 kB]
26Get:6 http://mirrors.linode.com trusty-updates/multiverse Sources [5,547 B]
27Get:7 http://mirrors.linode.com trusty-updates/main amd64 Packages [706 kB]
28Get:8 http://mirrors.linode.com trusty-updates/restricted amd64 Packages [15.9 kB]
29Get:9 http://mirrors.linode.com trusty-updates/universe amd64 Packages [337 kB]
30Get:10 http://mirrors.linode.com trusty-updates/multiverse amd64 Packages [13.2 kB]
31Get:11 http://mirrors.linode.com trusty-updates/main i386 Packages [683 kB]
32Get:12 http://mirrors.linode.com trusty-updates/restricted i386 Packages [15.6 kB]
33Get:13 http://mirrors.linode.com trusty-updates/universe i386 Packages [339 kB]
34Get:14 http://mirrors.linode.com trusty-updates/multiverse i386 Packages [13.4 kB]
35Get:15 http://mirrors.linode.com trusty-updates/main Translation-en [356 kB]
36Get:16 http://mirrors.linode.com trusty-updates/multiverse Translation-en [6,947 B]
37Get:17 http://mirrors.linode.com trusty-updates/restricted Translation-en [3,699 B]
38Get:18 http://mirrors.linode.com trusty-updates/universe Translation-en [180 kB]
39Get:19 http://mirrors.linode.com trusty-backports/main Sources [8,672 B]
40Get:20 http://mirrors.linode.com trusty-backports/restricted Sources [28 B]
41Get:21 http://mirrors.linode.com trusty-backports/universe Sources [33.2 kB]
42Get:22 http://mirrors.linode.com trusty-backports/multiverse Sources [1,898 B]
43Get:23 http://mirrors.linode.com trusty-backports/main amd64 Packages [9,787 B]
44Get:24 http://mirrors.linode.com trusty-backports/restricted amd64 Packages [28 B]
45Get:25 http://mirrors.linode.com trusty-backports/universe amd64 Packages [39.8 kB]
46Get:26 http://mirrors.linode.com trusty-backports/multiverse amd64 Packages [1,571 B]
47Get:27 http://mirrors.linode.com trusty-backports/main i386 Packages [9,814 B]
48Get:28 http://mirrors.linode.com trusty-backports/restricted i386 Packages [28 B]
49Get:29 http://mirrors.linode.com trusty-backports/universe i386 Packages [39.8 kB]
50Get:30 http://mirrors.linode.com trusty-backports/multiverse i386 Packages [1,552 B]
51Get:31 http://mirrors.linode.com trusty-backports/main Translation-en [5,843 B]
52Get:32 http://mirrors.linode.com trusty-backports/multiverse Translation-en [1,215 B]
53Get:33 http://mirrors.linode.com trusty-backports/restricted Translation-en [28 B]
54Get:34 http://mirrors.linode.com trusty-backports/universe Translation-en [34.6 kB]
55Hit http://mirrors.linode.com trusty/main Sources
56Hit http://mirrors.linode.com trusty/restricted Sources
57Hit http://mirrors.linode.com trusty/universe Sources
58Hit http://mirrors.linode.com trusty/multiverse Sources
59Hit http://mirrors.linode.com trusty/main amd64 Packages
60Hit http://mirrors.linode.com trusty/restricted amd64 Packages
61Hit http://mirrors.linode.com trusty/universe amd64 Packages
62Hit http://mirrors.linode.com trusty/multiverse amd64 Packages
63Hit http://mirrors.linode.com trusty/main i386 Packages
64Hit http://mirrors.linode.com trusty/restricted i386 Packages
65Hit http://mirrors.linode.com trusty/universe i386 Packages
66Hit http://mirrors.linode.com trusty/multiverse i386 Packages
67Hit http://mirrors.linode.com trusty/main Translation-en
68Hit http://mirrors.linode.com trusty/multiverse Translation-en
69Hit http://mirrors.linode.com trusty/restricted Translation-en
70Hit http://mirrors.linode.com trusty/universe Translation-en
71Ign http://mirrors.linode.com trusty/main Translation-en_US
72Ign http://mirrors.linode.com trusty/multiverse Translation-en_US
73Ign http://mirrors.linode.com trusty/restricted Translation-en_US
74Ign http://mirrors.linode.com trusty/universe Translation-en_US
75Get:35 http://security.ubuntu.com trusty-security InRelease [65.9 kB]
76Get:36 http://security.ubuntu.com trusty-security/main Sources [105 kB]
77Get:37 http://security.ubuntu.com trusty-security/restricted Sources [4,035 B]
78Get:38 http://security.ubuntu.com trusty-security/universe Sources [33.0 kB]
79Get:39 http://security.ubuntu.com trusty-security/multiverse Sources [2,767 B]
80Get:40 http://security.ubuntu.com trusty-security/main amd64 Packages [421 kB]
81Get:41 http://security.ubuntu.com trusty-security/restricted amd64 Packages [13.0 kB]
82Get:42 http://security.ubuntu.com trusty-security/universe amd64 Packages [124 kB]
83Get:43 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [4,990 B]
84Get:44 http://security.ubuntu.com trusty-security/main i386 Packages [393 kB]
85Get:45 http://security.ubuntu.com trusty-security/restricted i386 Packages [12.7 kB]
86Get:46 http://security.ubuntu.com trusty-security/universe i386 Packages [124 kB]
87Get:47 http://security.ubuntu.com trusty-security/multiverse i386 Packages [5,164 B]
88Get:48 http://security.ubuntu.com trusty-security/main Translation-en [231 kB]
89Get:49 http://security.ubuntu.com trusty-security/multiverse Translation-en [2,570 B]
90Get:50 http://security.ubuntu.com trusty-security/restricted Translation-en [3,206 B]
91Get:51 http://security.ubuntu.com trusty-security/universe Translation-en [72.5 kB]
92Fetched 5,026 kB in 15s (327 kB/s)
93Reading package lists... Done
94root@localhost:~# apt-get install linux-image-virtual kernel linux-image-extra-virtual
95Reading package lists... Done
96Building dependency tree
97Reading state information... Done
98E: Unable to locate package kernel
99root@localhost:~# apt-get install linux-image-virtual-kernel linux-image-extra-virtual
100Reading package lists... Done
101Building dependency tree
102Reading state information... Done
103E: Unable to locate package linux-image-virtual-kernel
104root@localhost:~# apt-get install linux-image-virtual linux-image-extra-virtual
105Reading package lists... Done
106Building dependency tree
107Reading state information... Done
108The 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
113Suggested 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
116The 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
1210 upgraded, 16 newly installed, 0 to remove and 160 not upgraded.
122Need to get 80.1 MB of archives.
123After this operation, 298 MB of additional disk space will be used.
124Do you want to continue? [Y/n] Y
125Get:1 http://mirrors.linode.com/ubuntu/ trusty-updates/main libfreetype6 amd64 2.5.2-1ubuntu2.5 [304 kB]
126Get: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]
127Get:3 http://mirrors.linode.com/ubuntu/ trusty/main wireless-regdb all 2013.02.13-1ubuntu1 [6,456 B]
128Get:4 http://mirrors.linode.com/ubuntu/ trusty/main crda amd64 1.1.2-1ubuntu2 [15.2 kB]
129Get:5 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub-common amd64 2.02~beta2-9ubuntu1.7 [1,678 kB]
130Get:6 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub2-common amd64 2.02~beta2-9ubuntu1.7 [501 kB]
131Get:7 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub-pc-bin amd64 2.02~beta2-9ubuntu1.7 [882 kB]
132Get:8 http://mirrors.linode.com/ubuntu/ trusty-updates/main grub-pc amd64 2.02~beta2-9ubuntu1.7 [173 kB]
133Get:9 http://mirrors.linode.com/ubuntu/ trusty/main grub-gfxpayload-lists amd64 0.6 [3,506 B]
134Get:10 http://mirrors.linode.com/ubuntu/ trusty/main iw amd64 3.4-1 [51.7 kB]
135Get:11 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-firmware all 1.127.20 [24.5 MB]
136Get: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]
137Get:13 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-generic amd64 3.13.0.77.83 [2,234 B]
138Get:14 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-extra-virtual amd64 3.13.0.77.83 [1,764 B]
139Get:15 http://mirrors.linode.com/ubuntu/ trusty-updates/main linux-image-virtual amd64 3.13.0.77.83 [2,232 B]
140Get:16 http://mirrors.linode.com/ubuntu/ trusty-updates/main os-prober amd64 1.63ubuntu1.1 [18.0 kB]
141Fetched 80.1 MB in 1s (42.9 MB/s)
142Preconfiguring packages ...
143Selecting previously unselected package libfreetype6:amd64.
144(Reading database ... 23405 files and directories currently installed.)
145Preparing to unpack .../libfreetype6_2.5.2-1ubuntu2.5_amd64.deb ...
146Unpacking libfreetype6:amd64 (2.5.2-1ubuntu2.5) ...
147Selecting previously unselected package linux-image-3.13.0-77-generic.
148Preparing to unpack .../linux-image-3.13.0-77-generic_3.13.0-77.121_amd64.deb ...
149Done.
150Unpacking linux-image-3.13.0-77-generic (3.13.0-77.121) ...
151Selecting previously unselected package wireless-regdb.
152Preparing to unpack .../wireless-regdb_2013.02.13-1ubuntu1_all.deb ...
153Unpacking wireless-regdb (2013.02.13-1ubuntu1) ...
154Selecting previously unselected package crda.
155Preparing to unpack .../crda_1.1.2-1ubuntu2_amd64.deb ...
156Unpacking crda (1.1.2-1ubuntu2) ...
157Selecting previously unselected package grub-common.
158Preparing to unpack .../grub-common_2.02~beta2-9ubuntu1.7_amd64.deb ...
159Unpacking grub-common (2.02~beta2-9ubuntu1.7) ...
160Selecting previously unselected package grub2-common.
161Preparing to unpack .../grub2-common_2.02~beta2-9ubuntu1.7_amd64.deb ...
162Unpacking grub2-common (2.02~beta2-9ubuntu1.7) ...
163Selecting previously unselected package grub-pc-bin.
164Preparing to unpack .../grub-pc-bin_2.02~beta2-9ubuntu1.7_amd64.deb ...
165Unpacking grub-pc-bin (2.02~beta2-9ubuntu1.7) ...
166Selecting previously unselected package grub-pc.
167Preparing to unpack .../grub-pc_2.02~beta2-9ubuntu1.7_amd64.deb ...
168Unpacking grub-pc (2.02~beta2-9ubuntu1.7) ...
169Selecting previously unselected package grub-gfxpayload-lists.
170Preparing to unpack .../grub-gfxpayload-lists_0.6_amd64.deb ...
171Unpacking grub-gfxpayload-lists (0.6) ...
172Selecting previously unselected package iw.
173Preparing to unpack .../archives/iw_3.4-1_amd64.deb ...
174Unpacking iw (3.4-1) ...
175Selecting previously unselected package linux-firmware.
176Preparing to unpack .../linux-firmware_1.127.20_all.deb ...
177Unpacking linux-firmware (1.127.20) ...
178Selecting previously unselected package linux-image-extra-3.13.0-77-generic.
179Preparing to unpack .../linux-image-extra-3.13.0-77-generic_3.13.0-77.121_amd64.deb ...
180Unpacking linux-image-extra-3.13.0-77-generic (3.13.0-77.121) ...
181Selecting previously unselected package linux-image-generic.
182Preparing to unpack .../linux-image-generic_3.13.0.77.83_amd64.deb ...
183Unpacking linux-image-generic (3.13.0.77.83) ...
184Selecting previously unselected package linux-image-extra-virtual.
185Preparing to unpack .../linux-image-extra-virtual_3.13.0.77.83_amd64.deb ...
186Unpacking linux-image-extra-virtual (3.13.0.77.83) ...
187Selecting previously unselected package linux-image-virtual.
188Preparing to unpack .../linux-image-virtual_3.13.0.77.83_amd64.deb ...
189Unpacking linux-image-virtual (3.13.0.77.83) ...
190Selecting previously unselected package os-prober.
191Preparing to unpack .../os-prober_1.63ubuntu1.1_amd64.deb ...
192Unpacking os-prober (1.63ubuntu1.1) ...
193Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
194Processing triggers for ureadahead (0.100.0-16) ...
195Processing triggers for install-info (5.2.0.dfsg.1-2) ...
196Setting up libfreetype6:amd64 (2.5.2-1ubuntu2.5) ...
197Setting up linux-image-3.13.0-77-generic (3.13.0-77.121) ...
198Running depmod.
199update-initramfs: deferring update (hook will be called later)
200Examining /etc/kernel/postinst.d.
201run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
202run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
203update-initramfs: Generating /boot/initrd.img-3.13.0-77-generic
204run-parts: executing /etc/kernel/postinst.d/update-notifier 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
205Setting up wireless-regdb (2013.02.13-1ubuntu1) ...
206Setting up crda (1.1.2-1ubuntu2) ...
207Setting up grub-common (2.02~beta2-9ubuntu1.7) ...
208Setting up iw (3.4-1) ...
209Setting up linux-firmware (1.127.20) ...
210Setting up linux-image-extra-3.13.0-77-generic (3.13.0-77.121) ...
211run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
212run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
213update-initramfs: Generating /boot/initrd.img-3.13.0-77-generic
214run-parts: executing /etc/kernel/postinst.d/update-notifier 3.13.0-77-generic /boot/vmlinuz-3.13.0-77-generic
215Setting up linux-image-generic (3.13.0.77.83) ...
216Setting up linux-image-extra-virtual (3.13.0.77.83) ...
217Setting up linux-image-virtual (3.13.0.77.83) ...
218Setting up os-prober (1.63ubuntu1.1) ...
219Processing triggers for ureadahead (0.100.0-16) ...
220Setting up grub2-common (2.02~beta2-9ubuntu1.7) ...
221Setting up grub-pc-bin (2.02~beta2-9ubuntu1.7) ...
222Setting up grub-gfxpayload-lists (0.6) ...
223Setting up grub-pc (2.02~beta2-9ubuntu1.7) ...
224
225Creating config file /etc/default/grub with new version
226Installing for i386-pc platform.
227grub-install: warning: File system `ext2' doesn't support embedding.
228grub-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..
229Installation finished. No error reported.
230Installing for i386-pc platform.
231grub-install: warning: File system `ext2' doesn't support embedding.
232grub-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..
233Installation finished. No error reported.
234Generating grub configuration file ...
235Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
236Found linux image: /boot/vmlinuz-3.13.0-77-generic
237Found initrd image: /boot/initrd.img-3.13.0-77-generic
238done
239Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
240root@localhost:~# wget -qO- https://get.docker.com/ | sh
241modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-x86_64-linode63/modules.dep.bin'
242Warning: 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
247root@localhost:~# apt-get install linux-image-extra-virtual
248Reading package lists... Done
249Building dependency tree
250Reading state information... Done
251linux-image-extra-virtual is already the newest version.
2520 upgraded, 0 newly installed, 0 to remove and 160 not upgraded.
253root@localhost:~# apt-get install linux-image-virtual kernel
254Reading package lists... Done
255Building dependency tree
256Reading state information... Done
257E: Unable to locate package kernel
258root@localhost:~# apt-get install linux-image-virtual
259Reading package lists... Done
260Building dependency tree
261Reading state information... Done
262linux-image-virtual is already the newest version.
2630 upgraded, 0 newly installed, 0 to remove and 160 not upgraded.
264root@localhost:~# wget -qO- https://get.docker.com/ | sh
265modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-x86_64-linode63/modules.dep.bin'
266Warning: 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
271Executing: 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
272gpg: requesting key 2C52609D from hkp server pool.sks-keyservers.net
273gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <docker@docker.com>" imported
274gpg: Total number processed: 1
275gpg: 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
280Ign http://mirrors.linode.com trusty InRelease
281Hit http://mirrors.linode.com trusty-updates InRelease
282Hit http://mirrors.linode.com trusty-backports InRelease
283Hit http://mirrors.linode.com trusty Release.gpg
284Hit http://mirrors.linode.com trusty Release
285Hit http://mirrors.linode.com trusty-updates/main Sources
286Hit http://mirrors.linode.com trusty-updates/restricted Sources
287Hit http://mirrors.linode.com trusty-updates/universe Sources
288Hit http://mirrors.linode.com trusty-updates/multiverse Sources
289Hit http://mirrors.linode.com trusty-updates/main amd64 Packages
290Hit http://mirrors.linode.com trusty-updates/restricted amd64 Packages
291Hit http://mirrors.linode.com trusty-updates/universe amd64 Packages
292Hit http://mirrors.linode.com trusty-updates/multiverse amd64 Packages
293Hit http://mirrors.linode.com trusty-updates/main i386 Packages
294Hit http://mirrors.linode.com trusty-updates/restricted i386 Packages
295Hit http://mirrors.linode.com trusty-updates/universe i386 Packages
296Hit http://mirrors.linode.com trusty-updates/multiverse i386 Packages
297Hit http://mirrors.linode.com trusty-updates/main Translation-en
298Hit http://mirrors.linode.com trusty-updates/multiverse Translation-en
299Hit http://mirrors.linode.com trusty-updates/restricted Translation-en
300Hit http://mirrors.linode.com trusty-updates/universe Translation-en
301Hit http://mirrors.linode.com trusty-backports/main Sources
302Hit http://mirrors.linode.com trusty-backports/restricted Sources
303Hit http://mirrors.linode.com trusty-backports/universe Sources
304Hit http://mirrors.linode.com trusty-backports/multiverse Sources
305Hit http://mirrors.linode.com trusty-backports/main amd64 Packages
306Hit http://mirrors.linode.com trusty-backports/restricted amd64 Packages
307Hit http://mirrors.linode.com trusty-backports/universe amd64 Packages
308Hit http://mirrors.linode.com trusty-backports/multiverse amd64 Packages
309Hit http://mirrors.linode.com trusty-backports/main i386 Packages
310Hit http://mirrors.linode.com trusty-backports/restricted i386 Packages
311Hit http://mirrors.linode.com trusty-backports/universe i386 Packages
312Hit http://mirrors.linode.com trusty-backports/multiverse i386 Packages
313Hit http://mirrors.linode.com trusty-backports/main Translation-en
314Hit http://mirrors.linode.com trusty-backports/multiverse Translation-en
315Hit http://mirrors.linode.com trusty-backports/restricted Translation-en
316Hit http://mirrors.linode.com trusty-backports/universe Translation-en
317Hit http://mirrors.linode.com trusty/main Sources
318Hit http://mirrors.linode.com trusty/restricted Sources
319Hit http://mirrors.linode.com trusty/universe Sources
320Hit http://mirrors.linode.com trusty/multiverse Sources
321Hit http://mirrors.linode.com trusty/main amd64 Packages
322Hit http://mirrors.linode.com trusty/restricted amd64 Packages
323Hit http://mirrors.linode.com trusty/universe amd64 Packages
324Hit http://mirrors.linode.com trusty/multiverse amd64 Packages
325Hit http://mirrors.linode.com trusty/main i386 Packages
326Hit http://mirrors.linode.com trusty/restricted i386 Packages
327Hit http://mirrors.linode.com trusty/universe i386 Packages
328Hit http://mirrors.linode.com trusty/multiverse i386 Packages
329Hit http://mirrors.linode.com trusty/main Translation-en
330Hit http://mirrors.linode.com trusty/multiverse Translation-en
331Hit http://mirrors.linode.com trusty/restricted Translation-en
332Hit http://security.ubuntu.com trusty-security InRelease
333Hit http://mirrors.linode.com trusty/universe Translation-en
334Ign http://mirrors.linode.com trusty/main Translation-en_US
335Ign http://mirrors.linode.com trusty/multiverse Translation-en_US
336Ign http://mirrors.linode.com trusty/restricted Translation-en_US
337Ign http://mirrors.linode.com trusty/universe Translation-en_US
338Hit http://security.ubuntu.com trusty-security/main Sources
339Hit http://security.ubuntu.com trusty-security/restricted Sources
340Hit http://security.ubuntu.com trusty-security/universe Sources
341Get:1 https://apt.dockerproject.org ubuntu-trusty InRelease
342Ign https://apt.dockerproject.org ubuntu-trusty InRelease
343Get:2 https://apt.dockerproject.org ubuntu-trusty Release
344Get:3 https://apt.dockerproject.org ubuntu-trusty/main amd64 Packages
345Hit http://security.ubuntu.com trusty-security/multiverse Sources
346Get:4 https://apt.dockerproject.org ubuntu-trusty/main Translation-en_US
347Hit http://security.ubuntu.com trusty-security/main amd64 Packages
348Hit http://security.ubuntu.com trusty-security/restricted amd64 Packages
349Hit http://security.ubuntu.com trusty-security/universe amd64 Packages
350Hit http://security.ubuntu.com trusty-security/multiverse amd64 Packages
351Hit http://security.ubuntu.com trusty-security/main i386 Packages
352Hit http://security.ubuntu.com trusty-security/restricted i386 Packages
353Hit http://security.ubuntu.com trusty-security/universe i386 Packages
354Hit http://security.ubuntu.com trusty-security/multiverse i386 Packages
355Hit http://security.ubuntu.com trusty-security/main Translation-en
356Hit http://security.ubuntu.com trusty-security/multiverse Translation-en
357Hit http://security.ubuntu.com trusty-security/restricted Translation-en
358Hit http://security.ubuntu.com trusty-security/universe Translation-en
359Ign https://apt.dockerproject.org ubuntu-trusty/main Translation-en_US
360Ign https://apt.dockerproject.org ubuntu-trusty/main Translation-en
361Fetched 24.6 kB in 3s (7,849 B/s)
362Reading package lists... Done
363Reading package lists...
364Building dependency tree...
365Reading state information...
366The following extra packages will be installed:
367 apparmor aufs-tools cgroup-lite git git-man liberror-perl
368 libsystemd-journal0
369Suggested 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
373Recommended packages:
374 yubico-piv-tool
375The following NEW packages will be installed:
376 apparmor aufs-tools cgroup-lite docker-engine git git-man liberror-perl
377 libsystemd-journal0
3780 upgraded, 8 newly installed, 0 to remove and 160 not upgraded.
379Need to get 12.6 MB of archives.
380After this operation, 66.8 MB of additional disk space will be used.
381Get:1 http://mirrors.linode.com/ubuntu/ trusty-updates/main libsystemd-journal0 amd64 204-5ubuntu20.18 [49.9 kB]
382Get:2 http://mirrors.linode.com/ubuntu/ trusty-updates/main apparmor amd64 2.8.95~2430-0ubuntu5.3 [319 kB]
383Get:3 http://mirrors.linode.com/ubuntu/ trusty/universe aufs-tools amd64 1:3.2+20130722-1.1 [92.3 kB]
384Get:4 http://mirrors.linode.com/ubuntu/ trusty/main liberror-perl all 0.17-1.1 [21.1 kB]
385Get:5 http://mirrors.linode.com/ubuntu/ trusty-updates/main git-man all 1:1.9.1-1ubuntu0.2 [699 kB]
386Get:6 http://mirrors.linode.com/ubuntu/ trusty-updates/main git amd64 1:1.9.1-1ubuntu0.2 [2,701 kB]
387Get:7 http://mirrors.linode.com/ubuntu/ trusty/main cgroup-lite all 1.9 [3,918 B]
388Fetched 12.6 MB in 0s (27.7 MB/s)
389Preconfiguring packages ...
390Selecting previously unselected package libsystemd-journal0:amd64.
391(Reading database ... 29739 files and directories currently installed.)
392Preparing to unpack .../libsystemd-journal0_204-5ubuntu20.18_amd64.deb ...
393Unpacking libsystemd-journal0:amd64 (204-5ubuntu20.18) ...
394Selecting previously unselected package apparmor.
395Preparing to unpack .../apparmor_2.8.95~2430-0ubuntu5.3_amd64.deb ...
396Unpacking apparmor (2.8.95~2430-0ubuntu5.3) ...
397Selecting previously unselected package aufs-tools.
398Preparing to unpack .../aufs-tools_1%3a3.2+20130722-1.1_amd64.deb ...
399Unpacking aufs-tools (1:3.2+20130722-1.1) ...
400Selecting previously unselected package docker-engine.
401Preparing to unpack .../docker-engine_1.10.1-0~trusty_amd64.deb ...
402Unpacking docker-engine (1.10.1-0~trusty) ...
403Selecting previously unselected package liberror-perl.
404Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ...
405Unpacking liberror-perl (0.17-1.1) ...
406Selecting previously unselected package git-man.
407Preparing to unpack .../git-man_1%3a1.9.1-1ubuntu0.2_all.deb ...
408Unpacking git-man (1:1.9.1-1ubuntu0.2) ...
409Selecting previously unselected package git.
410Preparing to unpack .../git_1%3a1.9.1-1ubuntu0.2_amd64.deb ...
411Unpacking git (1:1.9.1-1ubuntu0.2) ...
412Selecting previously unselected package cgroup-lite.
413Preparing to unpack .../cgroup-lite_1.9_all.deb ...
414Unpacking cgroup-lite (1.9) ...
415Processing triggers for ureadahead (0.100.0-16) ...
416Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
417Setting up libsystemd-journal0:amd64 (204-5ubuntu20.18) ...
418Setting up apparmor (2.8.95~2430-0ubuntu5.3) ...
419Setting up aufs-tools (1:3.2+20130722-1.1) ...
420Setting up docker-engine (1.10.1-0~trusty) ...
421docker start/running, process 17907
422Setting up liberror-perl (0.17-1.1) ...
423Setting up git-man (1:1.9.1-1ubuntu0.2) ...
424Setting up git (1:1.9.1-1ubuntu0.2) ...
425Setting up cgroup-lite (1.9) ...
426cgroup-lite start/running
427Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
428Processing triggers for ureadahead (0.100.0-16) ...
429+ sh -c docker version
430Client:
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
438Server:
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
446If you would like to use Docker as a non-root user, you should now consider
447adding your user to the "docker" group with something like:
448
449 sudo usermod -aG docker your-user
450
451Remember that you will have to log out and back in for this to take effect!
452
453root@localhost:~# mkdir /var/discourse
454root@localhost:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse
455Cloning into '/var/discourse'...
456cd /var/discourse
457cp samples/standalone.yml containers/app.ymlremote: Counting objects: 2099, done.
458remote: Total 2099 (delta 0), reused 0 (delta 0), pack-reused 2099
459Receiving objects: 100% (2099/2099), 461.03 KiB | 0 bytes/s, done.
460Resolving deltas: 100% (1239/1239), done.
461Checking connectivity... done.
462root@localhost:~# cd /var/discourse
463root@localhost:/var/discourse# cp samples/standalone.yml containers/app.yml
464root@localhost:/var/discourse# apt-get install mc lrzsz htop
465Reading package lists... Done
466Building dependency tree
467Reading state information... Done
468The following extra packages will be installed:
469 libssh2-1 mc-data
470Suggested 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
473The following NEW packages will be installed:
474 htop libssh2-1 lrzsz mc mc-data
4750 upgraded, 5 newly installed, 0 to remove and 160 not upgraded.
476Need to get 1,795 kB of archives.
477After this operation, 7,619 kB of additional disk space will be used.
478Do you want to continue? [Y/n] Y
479Get:1 http://mirrors.linode.com/ubuntu/ trusty/universe libssh2-1 amd64 1.4.3-2 [66.3 kB]
480Get:2 http://mirrors.linode.com/ubuntu/ trusty/universe htop amd64 1.0.2-3 [68.0 kB]
481Get:3 http://mirrors.linode.com/ubuntu/ trusty/universe lrzsz amd64 0.12.21-7 [74.3 kB]
482Get:4 http://mirrors.linode.com/ubuntu/ trusty/universe mc-data all 3:4.8.11-1 [1,134 kB]
483Get:5 http://mirrors.linode.com/ubuntu/ trusty/universe mc amd64 3:4.8.11-1 [453 kB]
484Fetched 1,795 kB in 0s (15.8 MB/s)
485Selecting previously unselected package libssh2-1:amd64.
486(Reading database ... 30783 files and directories currently installed.)
487Preparing to unpack .../libssh2-1_1.4.3-2_amd64.deb ...
488Unpacking libssh2-1:amd64 (1.4.3-2) ...
489Selecting previously unselected package htop.
490Preparing to unpack .../htop_1.0.2-3_amd64.deb ...
491Unpacking htop (1.0.2-3) ...
492Selecting previously unselected package lrzsz.
493Preparing to unpack .../lrzsz_0.12.21-7_amd64.deb ...
494Unpacking lrzsz (0.12.21-7) ...
495Selecting previously unselected package mc-data.
496Preparing to unpack .../mc-data_3%3a4.8.11-1_all.deb ...
497Unpacking mc-data (3:4.8.11-1) ...
498Selecting previously unselected package mc.
499Preparing to unpack .../mc_3%3a4.8.11-1_amd64.deb ...
500Unpacking mc (3:4.8.11-1) ...
501Processing triggers for mime-support (3.54ubuntu1) ...
502Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
503Setting up libssh2-1:amd64 (1.4.3-2) ...
504Setting up htop (1.0.2-3) ...
505Setting up lrzsz (0.12.21-7) ...
506Setting up mc-data (3:4.8.11-1) ...
507Setting up mc (3:4.8.11-1) ...
508Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
509root@localhost:/var/discourse# mcedit containers/app.yml
510
511root@localhost:/var/discourse# ./launcher bootstrap app ; ./launcher start app
512
513WARNING: We are about to start downloading the Discourse base image
514This process may take anywhere between a few minutes to an hour, depending on your network speed
515
516Please be patient
517
518Unable to find image 'discourse/discourse:1.0.16' locally
5191.0.16: Pulling from discourse/discourse
5208387d9ff0016: Pulling fs layer
5215841741bdd04: Pulling fs layer
5228991ac096c2f: Pulling fs layer
523a3ed95caeb02: Pulling fs layer
524a3ed95caeb02: Waiting
5258387d9ff0016: Verifying Checksum
5268387d9ff0016: Download complete
527a3ed95caeb02: Verifying Checksum
528a3ed95caeb02: Download complete
5298387d9ff0016: Pull complete
5308387d9ff0016: Pull complete
5318991ac096c2f: Verifying Checksum
5328991ac096c2f: Download complete
5335841741bdd04: Verifying Checksum
5345841741bdd04: Download complete
5355841741bdd04: Pull complete
5365841741bdd04: Pull complete
5378991ac096c2f: Pull complete
5388991ac096c2f: Pull complete
539a3ed95caeb02: Pull complete
540a3ed95caeb02: Pull complete
541Digest: sha256:284ee060e6c060c7772b3219f7130843b1f56760a81edb2912736e3e608d8d2a
542Status: Downloaded newer image for discourse/discourse:1.0.16
543cd /pups && git pull && /pups/bin/pups --stdin
544Already up-to-date.
545I, [2016-02-18T06:48:48.478230 #37] INFO -- : Loading --stdin
546I, [2016-02-18T06:48:48.484819 #37] INFO -- : > mkdir -p /shared/postgres_run
547I, [2016-02-18T06:48:48.487956 #37] INFO -- :
548I, [2016-02-18T06:48:48.488618 #37] INFO -- : > chown postgres:postgres /shared/postgres_run
549I, [2016-02-18T06:48:48.490630 #37] INFO -- :
550I, [2016-02-18T06:48:48.491294 #37] INFO -- : > chmod 775 /shared/postgres_run
551I, [2016-02-18T06:48:48.493019 #37] INFO -- :
552I, [2016-02-18T06:48:48.493645 #37] INFO -- : > rm -fr /var/run/postgresql
553I, [2016-02-18T06:48:48.495433 #37] INFO -- :
554I, [2016-02-18T06:48:48.496030 #37] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
555I, [2016-02-18T06:48:48.498037 #37] INFO -- :
556I, [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
5572016/02/18 06:48:48 socat[45] E connect(4, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
558I, [2016-02-18T06:48:48.507461 #37] INFO -- :
559I, [2016-02-18T06:48:48.508141 #37] INFO -- : > rm -fr /shared/postgres_run/.s*
560I, [2016-02-18T06:48:48.510360 #37] INFO -- :
561I, [2016-02-18T06:48:48.511009 #37] INFO -- : > rm -fr /shared/postgres_run/*.pid
562I, [2016-02-18T06:48:48.512707 #37] INFO -- :
563I, [2016-02-18T06:48:48.513278 #37] INFO -- : > mkdir -p /shared/postgres_run/9.3-main.pg_stat_tmp
564I, [2016-02-18T06:48:48.514694 #37] INFO -- :
565I, [2016-02-18T06:48:48.515342 #37] INFO -- : > chown postgres:postgres /shared/postgres_run/9.3-main.pg_stat_tmp
566I, [2016-02-18T06:48:48.516904 #37] INFO -- :
567I, [2016-02-18T06:48:48.520704 #37] INFO -- : File > /etc/service/postgres/run chmod: +x
568I, [2016-02-18T06:48:48.524521 #37] INFO -- : File > /etc/runit/3.d/99-postgres chmod: +x
569I, [2016-02-18T06:48:48.528061 #37] INFO -- : File > /root/upgrade_postgres chmod: +x
570I, [2016-02-18T06:48:48.529503 #37] INFO -- : > chown -R root /var/lib/postgresql/9.3/main
571I, [2016-02-18T06:48:48.537903 #37] INFO -- :
572I, [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
574WARNING: enabling "trust" authentication for local connections
575You 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.
577I, [2016-02-18T06:48:49.987670 #37] INFO -- : The files belonging to this database system will be owned by user "postgres".
578This user must also own the server process.
579
580The database cluster will be initialized with locale "en_US.UTF-8".
581The default database encoding has accordingly been set to "UTF8".
582The default text search configuration will be set to "english".
583
584Data page checksums are disabled.
585
586fixing permissions on existing directory /shared/postgres_data ... ok
587creating subdirectories ... ok
588selecting default max_connections ... 100
589selecting default shared_buffers ... 128MB
590creating configuration files ... ok
591creating template1 database in /shared/postgres_data/base/1 ... ok
592initializing pg_authid ... ok
593initializing dependencies ... ok
594creating system views ... ok
595loading system objects' descriptions ... ok
596creating collations ... ok
597creating conversions ... ok
598creating dictionaries ... ok
599setting privileges on built-in objects ... ok
600creating information schema ... ok
601loading PL/pgSQL server-side language ... ok
602vacuuming database template1 ... ok
603copying template1 to template0 ... ok
604copying template1 to postgres ... ok
605syncing data to disk ... ok
606
607Success. You can now start the database server using:
608
609 /usr/lib/postgresql/9.3/bin/postgres -D /shared/postgres_data
610or
611 /usr/lib/postgresql/9.3/bin/pg_ctl -D /shared/postgres_data -l logfile start
612
613
614I, [2016-02-18T06:48:49.987882 #37] INFO -- : > chown -R postgres:postgres /shared/postgres_data
615I, [2016-02-18T06:48:49.992011 #37] INFO -- :
616I, [2016-02-18T06:48:49.992328 #37] INFO -- : > chown -R postgres:postgres /var/run/postgresql
617I, [2016-02-18T06:48:49.993679 #37] INFO -- :
618I, [2016-02-18T06:48:49.994328 #37] INFO -- : > /root/upgrade_postgres
619I, [2016-02-18T06:48:49.997276 #37] INFO -- :
620I, [2016-02-18T06:48:49.997813 #37] INFO -- : > rm /root/upgrade_postgres
621I, [2016-02-18T06:48:49.998992 #37] INFO -- :
622I, [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
623I, [2016-02-18T06:48:50.001367 #37] INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/9.3/main/postgresql.conf
624I, [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
625I, [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
626I, [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
627I, [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
628I, [2016-02-18T06:48:50.005119 #37] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
629I, [2016-02-18T06:48:50.006746 #37] INFO -- :
630I, [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
631I, [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
632I, [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
633I, [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
634I, [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
635I, [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
636I, [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
637I, [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
638I, [2016-02-18T06:48:50.034808 #37] INFO -- : > sleep 5
6392016-02-18 06:48:50 UTC [110-1] LOG: database system was shut down at 2016-02-18 06:48:49 UTC
6402016-02-18 06:48:50 UTC [110-2] LOG: MultiXact member wraparound protections are now enabled
6412016-02-18 06:48:50 UTC [107-1] LOG: database system is ready to accept connections
6422016-02-18 06:48:50 UTC [114-1] LOG: autovacuum launcher started
643I, [2016-02-18T06:48:55.046345 #37] INFO -- :
644I, [2016-02-18T06:48:55.047555 #37] INFO -- : > su postgres -c 'createdb discourse' || true
6452016-02-18 06:48:55 UTC [119-1] postgres@postgres LOG: duration: 229.607 ms statement: CREATE DATABASE discourse;
646
647I, [2016-02-18T06:48:55.339330 #37] INFO -- :
648I, [2016-02-18T06:48:55.340225 #37] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
649I, [2016-02-18T06:48:55.393526 #37] INFO -- : CREATE ROLE
650
651I, [2016-02-18T06:48:55.394664 #37] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
652I, [2016-02-18T06:48:55.442392 #37] INFO -- : GRANT
653
654I, [2016-02-18T06:48:55.443474 #37] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
655I, [2016-02-18T06:48:55.490968 #37] INFO -- : ALTER SCHEMA
656
657I, [2016-02-18T06:48:55.492013 #37] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
658I, [2016-02-18T06:48:55.558832 #37] INFO -- : CREATE EXTENSION
659
660I, [2016-02-18T06:48:55.559870 #37] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
661I, [2016-02-18T06:48:55.615292 #37] INFO -- : CREATE EXTENSION
662
663I, [2016-02-18T06:48:55.616305 #37] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
664I, [2016-02-18T06:48:55.680716 #37] INFO -- : CREATE EXTENSION
665
666I, [2016-02-18T06:48:55.681753 #37] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
667I, [2016-02-18T06:48:55.735184 #37] INFO -- : CREATE EXTENSION
668
669I, [2016-02-18T06:48:55.736584 #37] INFO -- : > sudo -u postgres psql discourse
670I, [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
672I, [2016-02-18T06:48:55.788541 #37] INFO -- : File > /var/lib/postgresql/take-database-backup chmod: +x
673I, [2016-02-18T06:48:55.791397 #37] INFO -- : File > /var/spool/cron/crontabs/postgres chmod:
674I, [2016-02-18T06:48:55.792015 #37] INFO -- : > echo postgres installed!
675I, [2016-02-18T06:48:55.793313 #37] INFO -- : postgres installed!
676
677I, [2016-02-18T06:48:55.796640 #37] INFO -- : File > /etc/service/redis/run chmod: +x
678I, [2016-02-18T06:48:55.799846 #37] INFO -- : File > /etc/runit/3.d/10-redis chmod: +x
679I, [2016-02-18T06:48:55.800448 #37] INFO -- : Replacing daemonize yes with in /etc/redis/redis.conf
680I, [2016-02-18T06:48:55.801326 #37] INFO -- : Replacing (?-mix:^pidfile.*$) with in /etc/redis/redis.conf
681I, [2016-02-18T06:48:55.802850 #37] INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
682I, [2016-02-18T06:48:55.804600 #37] INFO -- :
683I, [2016-02-18T06:48:55.805056 #37] INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
684I, [2016-02-18T06:48:55.805811 #37] INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
685I, [2016-02-18T06:48:55.806792 #37] INFO -- : > echo redis installed
686I, [2016-02-18T06:48:55.807993 #37] INFO -- : redis installed
687
688I, [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'
689I, [2016-02-18T06:48:55.861846 #37] INFO -- :
690I, [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'
691I, [2016-02-18T06:48:55.916264 #37] INFO -- :
692I, [2016-02-18T06:48:55.921148 #37] INFO -- : File > /etc/runit/1.d/copy-env chmod: +x
693I, [2016-02-18T06:48:55.924251 #37] INFO -- : File > /etc/runit/1.d/ensure-web-nginx-read chmod: +x
694I, [2016-02-18T06:48:55.927379 #37] INFO -- : File > /etc/service/unicorn/run chmod: +x
695I, [2016-02-18T06:48:55.930537 #37] INFO -- : File > /etc/service/nginx/run chmod: +x
696I, [2016-02-18T06:48:55.933597 #37] INFO -- : File > /etc/runit/3.d/01-nginx chmod: +x
697I, [2016-02-18T06:48:55.936832 #37] INFO -- : File > /etc/runit/3.d/02-unicorn chmod: +x
698I, [2016-02-18T06:48:55.937130 #37] INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
699I, [2016-02-18T06:48:55.938036 #37] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
700I, [2016-02-18T06:48:55.942940 #37] INFO -- : > cd /var/www/discourse && git reset --hard
701235:M 18 Feb 06:48:55.948 * Redis 3.0.6 (00000000/0) 64 bit, standalone mode, port 6379, pid 235 ready to start.
702235: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.
703235:M 18 Feb 06:48:55.948 # Server started, Redis version 3.0.6
704235: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.
705235:M 18 Feb 06:48:55.948 * The server is now ready to accept connections on port 6379
706I, [2016-02-18T06:48:56.521926 #37] INFO -- : HEAD is now at 2a24403 Merge pull request #3976 from tgxworld/upgrade_rails
707
708I, [2016-02-18T06:48:56.522497 #37] INFO -- : > cd /var/www/discourse && git clean -f
709I, [2016-02-18T06:48:56.538222 #37] INFO -- :
710I, [2016-02-18T06:48:56.538728 #37] INFO -- : > cd /var/www/discourse && git remote set-branches --add origin master
711I, [2016-02-18T06:48:56.542133 #37] INFO -- :
712I, [2016-02-18T06:48:56.542232 #37] INFO -- : > cd /var/www/discourse && git pull
713From 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
724I, [2016-02-18T06:48:59.807421 #37] INFO -- : Updating 2a24403..f0e942f
725Fast-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
1245I, [2016-02-18T06:48:59.807865 #37] INFO -- : > cd /var/www/discourse && git fetch origin tests-passed
1246From https://github.com/discourse/discourse
1247 * branch tests-passed -> FETCH_HEAD
1248I, [2016-02-18T06:49:00.644296 #37] INFO -- :
1249I, [2016-02-18T06:49:00.644741 #37] INFO -- : > cd /var/www/discourse && git checkout tests-passed
1250Switched to a new branch 'tests-passed'
1251I, [2016-02-18T06:49:00.751383 #37] INFO -- : Branch tests-passed set up to track remote branch tests-passed from origin.
1252
1253I, [2016-02-18T06:49:00.751710 #37] INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
1254I, [2016-02-18T06:49:00.754377 #37] INFO -- :
1255I, [2016-02-18T06:49:00.754480 #37] INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
1256I, [2016-02-18T06:49:00.756449 #37] INFO -- :
1257I, [2016-02-18T06:49:00.756580 #37] INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
1258I, [2016-02-18T06:49:00.759354 #37] INFO -- :
1259I, [2016-02-18T06:49:00.759456 #37] INFO -- : > cd /var/www/discourse && mkdir -p /shared/log/rails
1260I, [2016-02-18T06:49:00.761414 #37] INFO -- :
1261I, [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"
1262I, [2016-02-18T06:49:00.764396 #37] INFO -- :
1263I, [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"
1264I, [2016-02-18T06:49:00.767152 #37] INFO -- :
1265I, [2016-02-18T06:49:00.767263 #37] INFO -- : > cd /var/www/discourse && bash -c "mkdir -p /shared/{uploads,backups}"
1266I, [2016-02-18T06:49:00.770070 #37] INFO -- :
1267I, [2016-02-18T06:49:00.770176 #37] INFO -- : > cd /var/www/discourse && bash -c "ln -s /shared/{uploads,backups} /var/www/discourse/public"
1268I, [2016-02-18T06:49:00.772754 #37] INFO -- :
1269I, [2016-02-18T06:49:00.772865 #37] INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups
1270I, [2016-02-18T06:49:00.775041 #37] INFO -- :
1271I, [2016-02-18T06:49:00.775358 #37] INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
1272I, [2016-02-18T06:49:00.776618 #37] INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
1273Cloning into 'docker_manager'...
1274I, [2016-02-18T06:49:02.508642 #37] INFO -- :
1275I, [2016-02-18T06:49:02.510099 #37] INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
1276I, [2016-02-18T06:49:02.513277 #37] INFO -- :
1277I, [2016-02-18T06:49:02.513659 #37] INFO -- : > rm /etc/nginx/sites-enabled/default
1278I, [2016-02-18T06:49:02.515268 #37] INFO -- :
1279I, [2016-02-18T06:49:02.515592 #37] INFO -- : > mkdir -p /var/nginx/cache
1280I, [2016-02-18T06:49:02.516997 #37] INFO -- :
1281I, [2016-02-18T06:49:02.517465 #37] INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
1282I, [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
1283I, [2016-02-18T06:49:02.518995 #37] INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
1284I, [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
1285I, [2016-02-18T06:49:02.520552 #37] INFO -- : > echo "done configuring web"
1286I, [2016-02-18T06:49:02.522459 #37] INFO -- : done configuring web
1287
1288I, [2016-02-18T06:49:02.523567 #37] INFO -- : > cd /var/www/discourse && gem update bundler
1289I, [2016-02-18T06:49:05.392377 #37] INFO -- : Updating installed gems
1290Nothing to update
1291
1292I, [2016-02-18T06:49:05.392989 #37] INFO -- : > cd /var/www/discourse && chown -R discourse /var/www/discourse
1293I, [2016-02-18T06:49:05.613358 #37] INFO -- :
1294I, [2016-02-18T06:49:05.615005 #37] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --deployment --verbose --without test --without development'
1295I, [2016-02-18T06:49:17.829883 #37] INFO -- : HTTP GET https://bundler.rubygems.org/api/v1/dependencies
1296HTTP 200 OK
1297Fetching gem metadata from https://rubygems.org/
1298Query 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"]
1299Query 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
1300HTTP 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
1301HTTP 200 OK
1302HTTP 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
1303HTTP 200 OK
1304HTTP 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
1305HTTP 200 OK
1306HTTP 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
1307HTTP 200 OK
1308Query 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"]
1309Query 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
1310HTTP 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
1311HTTP 200 OK
1312HTTP 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
1313HTTP 200 OK
1314Query 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"]
1315Query 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
1316HTTP 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
1317HTTP 200 OK
1318HTTP 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
1319HTTP 200 OK
1320Query 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"]
1321Query 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
1322HTTP 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
1323HTTP 200 OK
1324Query List: ["psych", "net-ssh", "rainbow", "parser", "powerpack", "ruby-progressbar", "astrolabe", "unicode-display_width", "power_assert", "systemu", "coffee-script-source", "libxml-ruby", "colorize", "mkrf"]
1325Query 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
1326HTTP 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
1327HTTP 200 OK
1328Query List: ["jar-dependencies", "needle", "jruby-pageant", "ast", "pattern-match"]
1329Query Gemcutter Dependency Endpoint API: jar-dependencies,needle,jruby-pageant,ast,pattern-match
1330HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=jar-dependencies%2Cneedle%2Cjruby-pageant%2Cast%2Cpattern-match
1331HTTP 200 OK
1332Query List: ["ruby-maven"]
1333Query Gemcutter Dependency Endpoint API: ruby-maven
1334HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=ruby-maven
1335HTTP 200 OK
1336Query List: ["maven-tools", "ruby-maven-libs"]
1337Query Gemcutter Dependency Endpoint API: maven-tools,ruby-maven-libs
1338HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=maven-tools%2Cruby-maven-libs
1339HTTP 200 OK
1340Query List: ["virtus"]
1341Query Gemcutter Dependency Endpoint API: virtus
1342HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=virtus
1343HTTP 200 OK
1344Query List: ["descendants_tracker", "axiom-types", "coercible", "equalizer"]
1345Query Gemcutter Dependency Endpoint API: descendants_tracker,axiom-types,coercible,equalizer
1346HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=descendants_tracker%2Caxiom-types%2Ccoercible%2Cequalizer
1347HTTP 200 OK
1348Query List: ["ice_nine", "adamantium"]
1349Query Gemcutter Dependency Endpoint API: ice_nine,adamantium
1350HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=ice_nine%2Cadamantium
1351HTTP 200 OK
1352Query List: ["memoizable"]
1353Query Gemcutter Dependency Endpoint API: memoizable
1354HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=memoizable
1355HTTP 200 OK
1356Query List: []
1357Fetching version metadata from https://rubygems.org/
1358Query 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"]
1359Query 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
1360HTTP 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
1361HTTP 200 OK
1362HTTP 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
1363HTTP 200 OK
1364HTTP 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
1365HTTP 200 OK
1366HTTP 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
1367HTTP 200 OK
1368HTTP 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
1369HTTP 200 OK
1370HTTP 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
1371HTTP 200 OK
1372HTTP 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
1373HTTP 200 OK
1374Query List: ["celluloid-gems", "faraday-middleware"]
1375Query Gemcutter Dependency Endpoint API: celluloid-gems,faraday-middleware
1376HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=celluloid-gems%2Cfaraday-middleware
1377HTTP 200 OK
1378Query List: []
1379Fetching dependency metadata from https://rubygems.org/
1380Query List: ["celluloid-gems", "faraday-middleware"]
1381Query Gemcutter Dependency Endpoint API: celluloid-gems,faraday-middleware
1382HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=celluloid-gems%2Cfaraday-middleware
1383HTTP 200 OK
1384Query List: []
1385Using rake 10.5.0
13860: rake (10.5.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rake-10.5.0.gemspec
1387Using i18n 0.7.0
13880: i18n (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/i18n-0.7.0.gemspec
1389Using json 1.8.3
13900: json (1.8.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/json-1.8.3.gemspec
1391Using minitest 5.8.4
13920: minitest (5.8.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/minitest-5.8.4.gemspec
1393Using thread_safe 0.3.5
13940: thread_safe (0.3.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/thread_safe-0.3.5.gemspec
1395Using builder 3.2.2
13960: builder (3.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/builder-3.2.2.gemspec
1397Using erubis 2.7.0
13980: erubis (2.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/erubis-2.7.0.gemspec
1399Using mini_portile2 2.0.0
14000: mini_portile2 (2.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mini_portile2-2.0.0.gemspec
1401Using rack 1.6.4
14020: rack (1.6.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-1.6.4.gemspec
1403Using mime-types 2.99
14040: mime-types (2.99) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mime-types-2.99.gemspec
1405Using arel 6.0.3
14060: arel (6.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/arel-6.0.3.gemspec
1407Using jmespath 1.1.3
14080: jmespath (1.1.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/jmespath-1.1.3.gemspec
1409Using babel-source 5.8.34
14100: babel-source (5.8.34) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/babel-source-5.8.34.gemspec
1411Using execjs 2.6.0
14120: execjs (2.6.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/execjs-2.6.0.gemspec
1413Using ember-source 1.12.2
14140: ember-source (1.12.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ember-source-1.12.2.gemspec
1415Using byebug 8.2.1
14160: byebug (8.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/byebug-8.2.1.gemspec
1417Using certified 1.0.0
14180: certified (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/certified-1.0.0.gemspec
1419Using coderay 1.1.0
14200: coderay (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/coderay-1.1.0.gemspec
1421Using concurrent-ruby 1.0.0
14220: concurrent-ruby (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/concurrent-ruby-1.0.0.gemspec
1423Using connection_pool 2.2.0
14240: connection_pool (2.2.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/connection_pool-2.2.0.gemspec
1425Using crass 1.0.2
14260: crass (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/crass-1.0.2.gemspec
1427Using daemons 1.2.3
14280: daemons (1.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/daemons-1.2.3.gemspec
1429Using diff-lcs 1.2.5
14300: diff-lcs (1.2.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/diff-lcs-1.2.5.gemspec
1431Using thor 0.19.1
14320: thor (0.19.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/thor-0.19.1.gemspec
1433Using docile 1.1.5
14340: docile (1.1.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/docile-1.1.5.gemspec
1435Using unf_ext 0.0.7.1
14360: unf_ext (0.0.7.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/unf_ext-0.0.7.1.gemspec
1437Installing email_reply_trimmer 0.0.6
14380: email_reply_trimmer (0.0.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/email_reply_trimmer-0.0.6.gemspec
1439Using hike 1.2.3
14400: hike (1.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/hike-1.2.3.gemspec
1441Using multi_json 1.11.2
14420: multi_json (1.11.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/multi_json-1.11.2.gemspec
1443Using tilt 1.4.1
14440: tilt (1.4.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/tilt-1.4.1.gemspec
1445Using eventmachine 1.0.8
14460: eventmachine (1.0.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/eventmachine-1.0.8.gemspec
1447Using excon 0.45.4
14480: excon (0.45.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/excon-0.45.4.gemspec
1449Using exifr 1.2.4
14500: exifr (1.2.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/exifr-1.2.4.gemspec
1451Using fabrication 2.9.8
14520: fabrication (2.9.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fabrication-2.9.8.gemspec
1453Using fakeweb 1.3.0
14540: fakeweb (1.3.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fakeweb-1.3.0.gemspec
1455Using multipart-post 2.0.0
14560: multipart-post (2.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/multipart-post-2.0.0.gemspec
1457Using fast_blank 1.0.0
14580: fast_blank (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_blank-1.0.0.gemspec
1459Using fast_xs 0.8.0
14600: fast_xs (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_xs-0.8.0.gemspec
1461Using fastimage_discourse 1.6.6
14620: fastimage_discourse (1.6.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fastimage_discourse-1.6.6.gemspec
1463Using ffi 1.9.10
14640: ffi (1.9.10) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ffi-1.9.10.gemspec
1465Using fspath 2.1.1
14660: fspath (2.1.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fspath-2.1.1.gemspec
1467Using sorcerer 1.0.2
14680: sorcerer (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sorcerer-1.0.2.gemspec
1469Using guess_html_encoding 0.0.11
14700: guess_html_encoding (0.0.11) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/guess_html_encoding-0.0.11.gemspec
1471Using hashie 3.4.3
14720: hashie (3.4.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/hashie-3.4.3.gemspec
1473Using highline 1.7.8
14740: highline (1.7.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/highline-1.7.8.gemspec
1475Using hiredis 0.6.1
14760: hiredis (0.6.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/hiredis-0.6.1.gemspec
1477Using htmlentities 4.3.4
14780: htmlentities (4.3.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/htmlentities-4.3.4.gemspec
1479Using image_size 1.4.1
14800: image_size (1.4.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/image_size-1.4.1.gemspec
1481Using in_threads 1.3.1
14820: in_threads (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/in_threads-1.3.1.gemspec
1483Using progress 3.1.1
14840: progress (3.1.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/progress-3.1.1.gemspec
1485Using jwt 1.5.2
14860: jwt (1.5.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/jwt-1.5.2.gemspec
1487Using kgio 2.10.0
14880: kgio (2.10.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/kgio-2.10.0.gemspec
1489Using libv8 3.16.14.13
14900: 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
1491Using listen 0.7.3
14920: listen (0.7.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/listen-0.7.3.gemspec
1493Using logster 1.0.1
14940: logster (1.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/logster-1.0.1.gemspec
1495Using lru_redux 1.1.0
14960: lru_redux (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/lru_redux-1.1.0.gemspec
1497Using redis 3.2.2
14980: redis (3.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/redis-3.2.2.gemspec
1499Using metaclass 0.0.4
15000: metaclass (0.0.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/metaclass-0.0.4.gemspec
1501Using method_source 0.8.2
15020: method_source (0.8.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/method_source-0.8.2.gemspec
1503Using mock_redis 0.15.4
15040: mock_redis (0.15.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mock_redis-0.15.4.gemspec
1505Using moneta 0.8.0
15060: moneta (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/moneta-0.8.0.gemspec
1507Using msgpack 0.7.4
15080: msgpack (0.7.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/msgpack-0.7.4.gemspec
1509Using multi_xml 0.5.5
15100: multi_xml (0.5.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/multi_xml-0.5.5.gemspec
1511Using mustache 1.0.2
15120: mustache (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mustache-1.0.2.gemspec
1513Using netrc 0.11.0
15140: netrc (0.11.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/netrc-0.11.0.gemspec
1515Using oauth 0.4.7
15160: oauth (0.4.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/oauth-0.4.7.gemspec
1517Using oj 2.14.3
15180: oj (2.14.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/oj-2.14.3.gemspec
1519Using ruby-openid 2.7.0
15200: ruby-openid (2.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ruby-openid-2.7.0.gemspec
1521Using pg 0.18.4
15220: pg (0.18.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pg-0.18.4.gemspec
1523Using slop 3.6.0
15240: slop (3.6.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/slop-3.6.0.gemspec
1525Using puma 2.15.3
15260: puma (2.15.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/puma-2.15.3.gemspec
1527Using r2 0.2.6
15280: r2 (0.2.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/r2-0.2.6.gemspec
1529Using bundler 1.11.2
15300: bundler (1.11.2) from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/source
1531Using rails_multisite 1.0.3
15320: rails_multisite (1.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails_multisite-1.0.3.gemspec
1533Using raindrops 0.15.0
15340: raindrops (0.15.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/raindrops-0.15.0.gemspec
1535Using rb-fsevent 0.9.7
15360: rb-fsevent (0.9.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rb-fsevent-0.9.7.gemspec
1537Using trollop 2.1.2
15380: trollop (2.1.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/trollop-2.1.2.gemspec
1539Using ref 2.0.0
15400: ref (2.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ref-2.0.0.gemspec
1541Using rinku 1.7.3
15420: rinku (1.7.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rinku-1.7.3.gemspec
1543Using rmmseg-cpp 0.2.9
15440: rmmseg-cpp (0.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rmmseg-cpp-0.2.9.gemspec
1545Using rspec-support 3.2.2
15460: rspec-support (3.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-support-3.2.2.gemspec
1547Using rtlit 0.0.5
15480: rtlit (0.0.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rtlit-0.0.5.gemspec
1549Using sass 3.2.19
15500: sass (3.2.19) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sass-3.2.19.gemspec
1551Using shoulda-context 1.2.1
15520: shoulda-context (1.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/shoulda-context-1.2.1.gemspec
1553Using simple-rss 1.3.1
15540: simple-rss (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/simple-rss-1.3.1.gemspec
1555Using simplecov-html 0.10.0
15560: simplecov-html (0.10.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/simplecov-html-0.10.0.gemspec
1557Using spork 1.0.0rc4
15580: spork (1.0.0rc4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/spork-1.0.0rc4.gemspec
1559Using timecop 0.8.0
15600: timecop (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/timecop-0.8.0.gemspec
1561Using rake-compiler 0.9.5
15620: rake-compiler (0.9.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rake-compiler-0.9.5.gemspec
1563Using tzinfo 1.2.2
15640: tzinfo (1.2.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/tzinfo-1.2.2.gemspec
1565Using nokogiri 1.6.7.2
15660: nokogiri (1.6.7.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/nokogiri-1.6.7.2.gemspec
1567Using rack-test 0.6.3
15680: rack-test (0.6.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-test-0.6.3.gemspec
1569Using rack-mini-profiler 0.9.8
15700: rack-mini-profiler (0.9.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-mini-profiler-0.9.8.gemspec
1571Using rack-protection 1.5.3
15720: rack-protection (1.5.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-protection-1.5.3.gemspec
1573Using mail 2.6.3
15740: mail (2.6.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mail-2.6.3.gemspec
1575Using aws-sdk-core 2.2.9
15760: aws-sdk-core (2.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/aws-sdk-core-2.2.9.gemspec
1577Using babel-transpiler 0.7.0
15780: babel-transpiler (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/babel-transpiler-0.7.0.gemspec
1579Using uglifier 2.7.2
15800: uglifier (2.7.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/uglifier-2.7.2.gemspec
1581Using barber 0.9.0
15820: barber (0.9.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/barber-0.9.0.gemspec
1583Using ember-data-source 1.0.0.beta.16.1
15840: 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
1585Using unf 0.1.4
15860: unf (0.1.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/unf-0.1.4.gemspec
1587Using sprockets 2.11.0
15880: sprockets (2.11.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sprockets-2.11.0.gemspec
1589Using thin 1.6.4
15900: thin (1.6.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/thin-1.6.4.gemspec
1591Using faraday 0.9.2
15920: faraday (0.9.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/faraday-0.9.2.gemspec
1593Using rb-inotify 0.9.5
15940: rb-inotify (0.9.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rb-inotify-0.9.5.gemspec
1595Using given_core 3.7.1
15960: given_core (3.7.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/given_core-3.7.1.gemspec
1597Using omniauth 1.3.1
15980: omniauth (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-1.3.1.gemspec
1599Using image_optim 0.20.2
16000: image_optim (0.20.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/image_optim-0.20.2.gemspec
1601Using message_bus 2.0.0.beta.2
16020: 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
1603Using redis-namespace 1.5.2
16040: redis-namespace (1.5.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/redis-namespace-1.5.2.gemspec
1605Using sidekiq 4.0.2
16060: sidekiq (4.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sidekiq-4.0.2.gemspec
1607Using mocha 1.1.0
16080: mocha (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/mocha-1.1.0.gemspec
1609Using rack-openid 1.3.1
16100: rack-openid (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rack-openid-1.3.1.gemspec
1611Using openid-redis-store 0.0.2
16120: openid-redis-store (0.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/openid-redis-store-0.0.2.gemspec
1613Using pry 0.10.3
16140: pry (0.10.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pry-0.10.3.gemspec
1615Using unicorn 5.0.1
16160: unicorn (5.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/unicorn-5.0.1.gemspec
1617Using rbtrace 0.4.7
16180: rbtrace (0.4.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rbtrace-0.4.7.gemspec
1619Using therubyracer 0.12.2
16200: therubyracer (0.12.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/therubyracer-0.12.2.gemspec
1621Using rspec-core 3.2.3
16220: rspec-core (3.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-core-3.2.3.gemspec
1623Using rspec-expectations 3.2.1
16240: rspec-expectations (3.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-expectations-3.2.1.gemspec
1625Using rspec-mocks 3.2.1
16260: rspec-mocks (3.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-mocks-3.2.1.gemspec
1627Using simplecov 0.11.1
16280: simplecov (0.11.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/simplecov-0.11.1.gemspec
1629Using fast_stack 0.1.0
16300: fast_stack (0.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_stack-0.1.0.gemspec
1631Using fast_xor 1.1.3
16320: fast_xor (1.1.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/fast_xor-1.1.3.gemspec
1633Using activesupport 4.2.5.1
16340: activesupport (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activesupport-4.2.5.1.gemspec
1635Using loofah 2.0.3
16360: loofah (2.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/loofah-2.0.3.gemspec
1637Using nokogumbo 1.4.7
16380: nokogumbo (1.4.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/nokogumbo-1.4.7.gemspec
1639Installing onebox 1.5.34
16400: onebox (1.5.34) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/onebox-1.5.34.gemspec
1641Using ruby-readability 0.7.0
16420: ruby-readability (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ruby-readability-0.7.0.gemspec
1643Using sinatra 1.4.6
16440: sinatra (1.4.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sinatra-1.4.6.gemspec
1645Using aws-sdk-resources 2.2.9
16460: aws-sdk-resources (2.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/aws-sdk-resources-2.2.9.gemspec
1647Using domain_name 0.5.25
16480: domain_name (0.5.25) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/domain_name-0.5.25.gemspec
1649Using ember-handlebars-template 0.1.5
16500: ember-handlebars-template (0.1.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ember-handlebars-template-0.1.5.gemspec
1651Using oauth2 1.0.0
16520: oauth2 (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/oauth2-1.0.0.gemspec
1653Using omniauth-oauth 1.1.0
16540: omniauth-oauth (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-oauth-1.1.0.gemspec
1655Using sidekiq-statistic 1.2.0
16560: sidekiq-statistic (1.2.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sidekiq-statistic-1.2.0.gemspec
1657Using omniauth-openid 1.0.1
16580: omniauth-openid (1.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-openid-1.0.1.gemspec
1659Using pry-nav 0.2.4
16600: pry-nav (0.2.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pry-nav-0.2.4.gemspec
1661Using pry-rails 0.3.4
16620: pry-rails (0.3.4) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/pry-rails-0.3.4.gemspec
1663Using rspec 3.2.0
16640: rspec (3.2.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-3.2.0.gemspec
1665Using flamegraph 0.1.0
16660: flamegraph (0.1.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/flamegraph-0.1.0.gemspec
1667Using rails-deprecated_sanitizer 1.0.3
16680: rails-deprecated_sanitizer (1.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-deprecated_sanitizer-1.0.3.gemspec
1669Using globalid 0.3.6
16700: globalid (0.3.6) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/globalid-0.3.6.gemspec
1671Using activemodel 4.2.5.1
16720: activemodel (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activemodel-4.2.5.1.gemspec
1673Using shoulda-matchers 2.8.0
16740: shoulda-matchers (2.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/shoulda-matchers-2.8.0.gemspec
1675Using rails-html-sanitizer 1.0.3
16760: rails-html-sanitizer (1.0.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-html-sanitizer-1.0.3.gemspec
1677Using sanitize 4.0.1
16780: sanitize (4.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sanitize-4.0.1.gemspec
1679Using aws-sdk 2.2.9
16800: aws-sdk (2.2.9) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/aws-sdk-2.2.9.gemspec
1681Using http-cookie 1.0.2
16820: http-cookie (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/http-cookie-1.0.2.gemspec
1683Using omniauth-oauth2 1.3.1
16840: omniauth-oauth2 (1.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-oauth2-1.3.1.gemspec
1685Using omniauth-twitter 1.2.1
16860: omniauth-twitter (1.2.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-twitter-1.2.1.gemspec
1687Using rspec-given 3.7.1
16880: rspec-given (3.7.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-given-3.7.1.gemspec
1689Using rspec-html-matchers 0.7.0
16900: rspec-html-matchers (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-html-matchers-0.7.0.gemspec
1691Using rails-dom-testing 1.0.7
16920: rails-dom-testing (1.0.7) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-dom-testing-1.0.7.gemspec
1693Using activejob 4.2.5.1
16940: activejob (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activejob-4.2.5.1.gemspec
1695Using active_model_serializers 0.8.3
16960: active_model_serializers (0.8.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/active_model_serializers-0.8.3.gemspec
1697Using activerecord 4.2.5.1
16980: activerecord (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/activerecord-4.2.5.1.gemspec
1699Using rails-observers 0.1.2
17000: rails-observers (0.1.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-observers-0.1.2.gemspec
1701Using shoulda 3.5.0
17020: shoulda (3.5.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/shoulda-3.5.0.gemspec
1703Using rest-client 1.8.0
17040: rest-client (1.8.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rest-client-1.8.0.gemspec
1705Using omniauth-facebook 3.0.0
17060: omniauth-facebook (3.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-facebook-3.0.0.gemspec
1707Using omniauth-github-discourse 1.1.2
17080: omniauth-github-discourse (1.1.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-github-discourse-1.1.2.gemspec
1709Installing omniauth-google-oauth2 0.3.1
17100: omniauth-google-oauth2 (0.3.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/omniauth-google-oauth2-0.3.1.gemspec
1711Using actionview 4.2.5.1
17120: actionview (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/actionview-4.2.5.1.gemspec
1713Using seed-fu 2.3.5
17140: seed-fu (2.3.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/seed-fu-2.3.5.gemspec
1715Using actionpack 4.2.5.1
17160: actionpack (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/actionpack-4.2.5.1.gemspec
1717Using actionmailer 4.2.5.1
17180: actionmailer (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/actionmailer-4.2.5.1.gemspec
1719Using railties 4.2.5.1
17200: railties (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/railties-4.2.5.1.gemspec
1721Using sprockets-rails 2.0.1
17220: sprockets-rails (2.0.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sprockets-rails-2.0.1.gemspec
1723Using discourse-qunit-rails 0.0.8
17240: discourse-qunit-rails (0.0.8) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/discourse-qunit-rails-0.0.8.gemspec
1725Using jquery-rails 4.0.5
17260: jquery-rails (4.0.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/jquery-rails-4.0.5.gemspec
1727Using rspec-rails 3.2.3
17280: rspec-rails (3.2.3) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rspec-rails-3.2.3.gemspec
1729Using rails 4.2.5.1
17300: rails (4.2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/rails-4.2.5.1.gemspec
1731Using sass-rails 4.0.5
17320: sass-rails (4.0.5) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/sass-rails-4.0.5.gemspec
1733Using ember-rails 0.18.2
17340: ember-rails (0.18.2) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/ember-rails-0.18.2.gemspec
1735Using spork-rails 4.0.0
17360: spork-rails (4.0.0) from /var/www/discourse/vendor/bundle/ruby/2.0.0/specifications/spork-rails-4.0.0.gemspec
1737Bundle complete! 94 Gemfile dependencies, 176 gems now installed.
1738Gems in the group development were not installed.
1739Bundled gems are installed into ./vendor/bundle.
1740
1741I, [2016-02-18T06:49:17.830355 #37] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
17422016-02-18 06:49:22 UTC [349-1] discourse@discourse ERROR: relation "users" does not exist at character 323
17432016-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
1751I, [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
60360 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
6834Seeding welcome topics
6835
6836I, [2016-02-18T06:49:36.504384 #37] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile'
6837I, [2016-02-18T06:49:41.797307 #1265] INFO -- : Writing /var/www/discourse/public/assets/FontAwesome-1c0a94dc5e8a8d9db04e357eaaa388b9.otf
6838I, [2016-02-18T06:49:41.799509 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-e2f6015310d7f63fa1537ab9822f1446.eot
6839I, [2016-02-18T06:49:41.801939 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-827f7401e861ad6d7323e0b6be200412.svg
6840I, [2016-02-18T06:49:41.804145 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-f436f853ea7573a6b623eea9bc9d66ec.ttf
6841I, [2016-02-18T06:49:41.806016 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-90e687312466f7a4993c85399c116f2f.woff
6842I, [2016-02-18T06:49:41.807847 #1265] INFO -- : Writing /var/www/discourse/public/assets/fontawesome-webfont-6d0ddb44b6016bd7adf993e5b9d47ae6.woff2
6843I, [2016-02-18T06:49:41.809528 #1265] INFO -- : Writing /var/www/discourse/public/assets/chosen-sprite-8a7b0de8c79afad2d63363d145d7bf88.png
6844I, [2016-02-18T06:49:41.811175 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicon-16465536d00aeb9da2ca290e11c392b4.ico
6845I, [2016-02-18T06:49:41.812800 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/1282043220-favicon-441c1164492cfd82fcb1354eaacd429d.ico
6846I, [2016-02-18T06:49:41.814365 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/amazon-39970d950fbaec1718160041d85360bf.png
6847I, [2016-02-18T06:49:41.815895 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/apple-c309549cf49f942dc8e215a7b226e04e.png
6848I, [2016-02-18T06:49:41.817418 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/discourse-86a574c39af8a8a91ceb1653864f4075.png
6849I, [2016-02-18T06:49:41.818941 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/github-5fa3b2ccc92f5b98d37a0659af27fd10.png
6850I, [2016-02-18T06:49:41.820542 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_calendar_128px-679d97c594e49c2516d6e4148f3a199d.png
6851I, [2016-02-18T06:49:41.822109 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_docs_128px-8b10c5191f70ff981fafa1a0d02da504.png
6852I, [2016-02-18T06:49:41.823650 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_drive_128px-d022b8b148413a46ca0e479fd8e13c9e.png
6853I, [2016-02-18T06:49:41.825209 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_forms_128px-e008b7b0bd34786ded7f217618880a15.png
6854I, [2016-02-18T06:49:41.826741 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_sheets_128px-0be10a0e4a2de055b10947c45773ff48.png
6855I, [2016-02-18T06:49:41.828312 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_branding/logo_slides_128px-5f691996aeaca4ca52c176ebb53d9def.png
6856I, [2016-02-18T06:49:41.829846 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/google_play-98295ccf28cf32625e7ac1c911e0fca8.png
6857I, [2016-02-18T06:49:41.831381 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/rottentomatoes-b74810e5dc40fba50327844156787af9.png
6858I, [2016-02-18T06:49:41.832862 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/stackexchange-a6cbc6e0306560317a954c30f212f975.png
6859I, [2016-02-18T06:49:41.834404 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/twitter-9389be3611fd4dc8c32adb5a7b1ae0de.png
6860I, [2016-02-18T06:49:41.835917 #1265] INFO -- : Writing /var/www/discourse/public/assets/favicons/wikipedia-0de28d211999427f24ae8b5a840f2935.png
6861I, [2016-02-18T06:49:41.837594 #1265] INFO -- : Writing /var/www/discourse/public/assets/grippie-d28a6f65e22c0033dcf0d63883bcc590.png
6862I, [2016-02-18T06:49:41.839171 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-dev-ff0fcd6922e8e1aa031304b1d3e424a6.png
6863I, [2016-02-18T06:49:41.840816 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-single-dev-76ec62e48f4251d3fa00e42a29ae753b.png
6864I, [2016-02-18T06:49:41.842410 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-single-de2a438ad98c6df5f93ac6ac57f0c9f3.png
6865I, [2016-02-18T06:49:41.844028 #1265] INFO -- : Writing /var/www/discourse/public/assets/logo-50f2863a2f5ecac8825ee69b11dcfdbb.png
6866I, [2016-02-18T06:49:41.845629 #1265] INFO -- : Writing /var/www/discourse/public/assets/select2-spinner-65869c1d0a2498dd002aa563048a2253.gif
6867I, [2016-02-18T06:49:41.847219 #1265] INFO -- : Writing /var/www/discourse/public/assets/select2-20942152ca4c9717f914877da87804af.png
6868I, [2016-02-18T06:49:41.848822 #1265] INFO -- : Writing /var/www/discourse/public/assets/select2x2-c0736823da71c0955b2fb807af671f0a.png
6869I, [2016-02-18T06:49:41.850504 #1265] INFO -- : Writing /var/www/discourse/public/assets/spinner_96-8091be87c9cf1abef73e3899ec7645c1.gif
6870I, [2016-02-18T06:49:48.405986 #1265] INFO -- : Writing /var/www/discourse/public/assets/admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js
6871I, [2016-02-18T06:50:08.794984 #1265] INFO -- : Writing /var/www/discourse/public/assets/application-5cf0b16a612f75ce53e42cd7fd56e8a2.js
6872I, [2016-02-18T06:50:08.805216 #1265] INFO -- : Writing /var/www/discourse/public/assets/defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js
6873I, [2016-02-18T06:50:08.807428 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js
6874I, [2016-02-18T06:50:08.809417 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js
6875I, [2016-02-18T06:50:08.811417 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js
6876I, [2016-02-18T06:50:08.813306 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js
6877I, [2016-02-18T06:50:08.815236 #1265] INFO -- : Writing /var/www/discourse/public/assets/discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js
6878I, [2016-02-18T06:50:08.817098 #1265] INFO -- : Writing /var/www/discourse/public/assets/docs/yuidoc-cf304cb678763161e669e0722ddaf1c6.json
6879I, [2016-02-18T06:50:08.875841 #1265] INFO -- : Writing /var/www/discourse/public/assets/ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js
6880I, [2016-02-18T06:50:09.230429 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ar-dc101ccf0b407917701c8ed0c350b756.js
6881I, [2016-02-18T06:50:09.345968 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js
6882I, [2016-02-18T06:50:09.655582 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/cs-2398b6ec5888506f6d87daa085a182a4.js
6883I, [2016-02-18T06:50:09.791929 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/da-0df5e9318426ecdc6375614a8987da7b.js
6884I, [2016-02-18T06:50:10.052389 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/de-eae17ec34ef3a04ec460b978869440c1.js
6885I, [2016-02-18T06:50:10.167032 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/en-b71b52b0aa1b732690cc275d6416898c.js
6886I, [2016-02-18T06:50:10.330131 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/es-0e031fe56aea9902b0870fa77610735b.js
6887I, [2016-02-18T06:50:10.695133 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js
6888I, [2016-02-18T06:50:10.880198 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/fi-52c503c2f7c18c6567d14860f06cd788.js
6889I, [2016-02-18T06:50:11.156009 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/fr-752b773185e8fb9c0d29da11e88d606e.js
6890I, [2016-02-18T06:50:11.312157 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/he-4fb5401147736c457a1c42dd2d66c3a8.js
6891I, [2016-02-18T06:50:11.374119 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/id-ea3228838fb7d396c072835b96620c1c.js
6892I, [2016-02-18T06:50:11.677299 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/it-50da264ff04d4e72e035823a8ec32e3f.js
6893I, [2016-02-18T06:50:11.814085 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ja-278d1db9eaac41dd70fd017129461f8e.js
6894I, [2016-02-18T06:50:11.947348 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js
6895I, [2016-02-18T06:50:12.218109 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js
6896I, [2016-02-18T06:50:12.355877 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/nl-ab58be67dec62126261d2bcb25200133.js
6897I, [2016-02-18T06:50:12.634284 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js
6898I, [2016-02-18T06:50:12.782111 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/pt-1059cc8387192d2ad61e6a7cca411207.js
6899I, [2016-02-18T06:50:12.914191 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js
6900I, [2016-02-18T06:50:13.208571 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ro-e9df33f70943931e3625855ca1e6d97a.js
6901I, [2016-02-18T06:50:13.371407 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/ru-3197fd82c33f359fb4d140d44b5553e4.js
6902I, [2016-02-18T06:50:13.701673 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js
6903I, [2016-02-18T06:50:13.852855 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/sq-eea77b1df50211f4357f6132174bad43.js
6904I, [2016-02-18T06:50:13.980031 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js
6905I, [2016-02-18T06:50:14.264036 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js
6906I, [2016-02-18T06:50:14.412396 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js
6907I, [2016-02-18T06:50:14.506706 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js
6908I, [2016-02-18T06:50:14.830792 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js
6909I, [2016-02-18T06:50:14.956850 #1265] INFO -- : Writing /var/www/discourse/public/assets/locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js
6910I, [2016-02-18T06:50:14.961566 #1265] INFO -- : Writing /var/www/discourse/public/assets/preload_store-d16a3675434b5a0043157cfc2b850471.js
6911I, [2016-02-18T06:50:15.387589 #1265] INFO -- : Writing /var/www/discourse/public/assets/vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js
6912I, [2016-02-18T06:50:16.941906 #1265] INFO -- : Writing /var/www/discourse/public/assets/admin-b10cbaaa7e807f2c3a5dc0932f0353b5.css
6913I, [2016-02-18T06:50:21.995402 #1265] INFO -- : Writing /var/www/discourse/public/assets/common-7726d195c92c19641f2b00c91cfee999.css
6914I, [2016-02-18T06:50:28.558806 #1265] INFO -- : Writing /var/www/discourse/public/assets/desktop-483f057609d13c31531e38a77dadd8c6.css
6915I, [2016-02-18T06:50:29.058850 #1265] INFO -- : Writing /var/www/discourse/public/assets/embed-68c3f23ae6943a02623724dfa68fca58.css
6916I, [2016-02-18T06:50:34.810593 #1265] INFO -- : Writing /var/www/discourse/public/assets/mobile-4f3b0e9eca2204681f6b4ef52e479d3a.css
6917I, [2016-02-18T06:50:34.813792 #1265] INFO -- : Writing /var/www/discourse/public/assets/break_string-acd906f9185938240ab8b1b796f21d89.js
6918I, [2016-02-18T06:50:34.819303 #1265] INFO -- : Writing /var/www/discourse/public/assets/browser-update-1b088c371e098d02d2b87570660d5d68.js
6919I, [2016-02-18T06:50:36.429498 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-app-8a0a3f6df0a793205c4853458093b9cf.css
6920I, [2016-02-18T06:50:36.437317 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-app-fc45ae9f5dc46a536ad03487a4ce173f.js
6921I, [2016-02-18T06:50:36.606706 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-vendor-990e81f2e0703738823fe5de31b92060.css
6922I, [2016-02-18T06:50:36.625881 #1265] INFO -- : Writing /var/www/discourse/public/assets/docker-manager-vendor-e62406a2f5676e280b40622751069e76.js
6923I, [2016-02-18T06:50:36.630687 #1265] INFO -- : Writing /var/www/discourse/public/assets/images/docker-manager-ea64623b074c8ec2b0303bae846e21e6.png
6924Start compiling CSS: 2016-02-18 06:50:36 UTC
6925Compiling css for default
6926target: desktop desktop_38ea7146d8926b91be29c58071f4246ad6e1413c.css
6927target: mobile mobile_38ea7146d8926b91be29c58071f4246ad6e1413c.css
6928target: desktop_rtl desktop_rtl_38ea7146d8926b91be29c58071f4246ad6e1413c.css
6929target: mobile_rtl mobile_rtl_38ea7146d8926b91be29c58071f4246ad6e1413c.css
6930Done compiling CSS: 2016-02-18 06:50:54 UTC
6931Compressing: admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js
6932uglifyjs '/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'
6933gzip /var/www/discourse/public/assets/admin-5bd6cc58c5c849e3f4a4cfb8a73970df.js
6934
6935Compressing: application-5cf0b16a612f75ce53e42cd7fd56e8a2.js
6936uglifyjs '/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'
6937gzip /var/www/discourse/public/assets/application-5cf0b16a612f75ce53e42cd7fd56e8a2.js
6938
6939Compressing: defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js
6940uglifyjs '/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'
6941gzip /var/www/discourse/public/assets/defer/html-sanitizer-bundle-d248c5e7fffd65438fab42fafa3d1d56.js
6942
6943Compressing: discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js
6944uglifyjs '/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'
6945gzip /var/www/discourse/public/assets/discourse/controllers/application-8ec18ff701141e453a5a336f3a4b00f1.js
6946
6947Compressing: discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js
6948uglifyjs '/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'
6949gzip /var/www/discourse/public/assets/discourse/helpers/application-1229be3e4d538a88468d81cd890dda26.js
6950
6951Compressing: discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js
6952uglifyjs '/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'
6953gzip /var/www/discourse/public/assets/discourse/routes/application-5f552c59c99f40a3576e0c0f71e1637c.js
6954
6955Compressing: discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js
6956uglifyjs '/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'
6957gzip /var/www/discourse/public/assets/discourse/templates/application-946a53f6833af9d1f41c98f65f8786e1.js
6958
6959Compressing: discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js
6960uglifyjs '/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'
6961gzip /var/www/discourse/public/assets/discourse/views/application-4829ac46be9a412a82f2878a8d83586d.js
6962
6963Compressing: ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js
6964uglifyjs '/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'
6965gzip /var/www/discourse/public/assets/ember_jquery-3135835788b7c88a6baee2c4a176ffa8.js
6966
6967Compressing: locales/ar-dc101ccf0b407917701c8ed0c350b756.js
6968uglifyjs '/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'
6969gzip /var/www/discourse/public/assets/locales/ar-dc101ccf0b407917701c8ed0c350b756.js
6970
6971Compressing: locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js
6972uglifyjs '/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'
6973gzip /var/www/discourse/public/assets/locales/bs_BA-6c23447d75fe18ab7d0dbf796ef2a6bb.js
6974
6975Compressing: locales/cs-2398b6ec5888506f6d87daa085a182a4.js
6976uglifyjs '/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'
6977gzip /var/www/discourse/public/assets/locales/cs-2398b6ec5888506f6d87daa085a182a4.js
6978
6979Compressing: locales/da-0df5e9318426ecdc6375614a8987da7b.js
6980uglifyjs '/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'
6981gzip /var/www/discourse/public/assets/locales/da-0df5e9318426ecdc6375614a8987da7b.js
6982
6983Compressing: locales/de-eae17ec34ef3a04ec460b978869440c1.js
6984uglifyjs '/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'
6985gzip /var/www/discourse/public/assets/locales/de-eae17ec34ef3a04ec460b978869440c1.js
6986
6987Compressing: locales/en-b71b52b0aa1b732690cc275d6416898c.js
6988uglifyjs '/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'
6989gzip /var/www/discourse/public/assets/locales/en-b71b52b0aa1b732690cc275d6416898c.js
6990
6991Compressing: locales/es-0e031fe56aea9902b0870fa77610735b.js
6992uglifyjs '/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'
6993gzip /var/www/discourse/public/assets/locales/es-0e031fe56aea9902b0870fa77610735b.js
6994
6995Compressing: locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js
6996uglifyjs '/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'
6997gzip /var/www/discourse/public/assets/locales/fa_IR-0e3dee4a93e68933a8484f1467e6626b.js
6998
6999Compressing: locales/fi-52c503c2f7c18c6567d14860f06cd788.js
7000uglifyjs '/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'
7001gzip /var/www/discourse/public/assets/locales/fi-52c503c2f7c18c6567d14860f06cd788.js
7002
7003Compressing: locales/fr-752b773185e8fb9c0d29da11e88d606e.js
7004uglifyjs '/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'
7005gzip /var/www/discourse/public/assets/locales/fr-752b773185e8fb9c0d29da11e88d606e.js
7006
7007Compressing: locales/he-4fb5401147736c457a1c42dd2d66c3a8.js
7008uglifyjs '/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'
7009gzip /var/www/discourse/public/assets/locales/he-4fb5401147736c457a1c42dd2d66c3a8.js
7010
7011Compressing: locales/id-ea3228838fb7d396c072835b96620c1c.js
7012uglifyjs '/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'
7013gzip /var/www/discourse/public/assets/locales/id-ea3228838fb7d396c072835b96620c1c.js
7014
7015Compressing: locales/it-50da264ff04d4e72e035823a8ec32e3f.js
7016uglifyjs '/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'
7017gzip /var/www/discourse/public/assets/locales/it-50da264ff04d4e72e035823a8ec32e3f.js
7018
7019Compressing: locales/ja-278d1db9eaac41dd70fd017129461f8e.js
7020uglifyjs '/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'
7021gzip /var/www/discourse/public/assets/locales/ja-278d1db9eaac41dd70fd017129461f8e.js
7022
7023Compressing: locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js
7024uglifyjs '/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'
7025gzip /var/www/discourse/public/assets/locales/ko-d6e93b1a3a0951a63c932448a35ebd6b.js
7026
7027Compressing: locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js
7028uglifyjs '/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'
7029gzip /var/www/discourse/public/assets/locales/nb_NO-6f8966ae134213aaff129a1283963b9b.js
7030
7031Compressing: locales/nl-ab58be67dec62126261d2bcb25200133.js
7032uglifyjs '/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'
7033gzip /var/www/discourse/public/assets/locales/nl-ab58be67dec62126261d2bcb25200133.js
7034
7035Compressing: locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js
7036uglifyjs '/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'
7037gzip /var/www/discourse/public/assets/locales/pl_PL-a724b438fd7fc80016538327fea3a39b.js
7038
7039Compressing: locales/pt-1059cc8387192d2ad61e6a7cca411207.js
7040uglifyjs '/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'
7041gzip /var/www/discourse/public/assets/locales/pt-1059cc8387192d2ad61e6a7cca411207.js
7042
7043Compressing: locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js
7044uglifyjs '/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'
7045gzip /var/www/discourse/public/assets/locales/pt_BR-8d9d272f96890b6e7f85c6e2f7b031a2.js
7046
7047Compressing: locales/ro-e9df33f70943931e3625855ca1e6d97a.js
7048uglifyjs '/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'
7049gzip /var/www/discourse/public/assets/locales/ro-e9df33f70943931e3625855ca1e6d97a.js
7050
7051Compressing: locales/ru-3197fd82c33f359fb4d140d44b5553e4.js
7052uglifyjs '/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'
7053gzip /var/www/discourse/public/assets/locales/ru-3197fd82c33f359fb4d140d44b5553e4.js
7054
7055Compressing: locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js
7056uglifyjs '/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'
7057gzip /var/www/discourse/public/assets/locales/sk-7a13c5e96ad399c6e97754a53d3cc130.js
7058
7059Compressing: locales/sq-eea77b1df50211f4357f6132174bad43.js
7060uglifyjs '/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'
7061gzip /var/www/discourse/public/assets/locales/sq-eea77b1df50211f4357f6132174bad43.js
7062
7063Compressing: locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js
7064uglifyjs '/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'
7065gzip /var/www/discourse/public/assets/locales/sv-b3d64db6ef7da03f1e8abb8467a3282d.js
7066
7067Compressing: locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js
7068uglifyjs '/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'
7069gzip /var/www/discourse/public/assets/locales/te-0cecd6baec82b75dc9a6b50dcca637e9.js
7070
7071Compressing: locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js
7072uglifyjs '/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'
7073gzip /var/www/discourse/public/assets/locales/tr_TR-c9af37c0f513b79e5b3822e17d3d4a37.js
7074
7075Compressing: locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js
7076uglifyjs '/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'
7077gzip /var/www/discourse/public/assets/locales/uk-f8602aa7b9fff12138b0d360f9045ca6.js
7078
7079Compressing: locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js
7080uglifyjs '/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'
7081gzip /var/www/discourse/public/assets/locales/zh_CN-4f4df5b01ae584b10dadae2519083cd1.js
7082
7083Compressing: locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js
7084uglifyjs '/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'
7085gzip /var/www/discourse/public/assets/locales/zh_TW-b360be491f0c952e2c895bcd33c489fd.js
7086
7087Compressing: preload_store-d16a3675434b5a0043157cfc2b850471.js
7088uglifyjs '/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'
7089gzip /var/www/discourse/public/assets/preload_store-d16a3675434b5a0043157cfc2b850471.js
7090
7091Compressing: vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js
7092uglifyjs '/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'
7093gzip /var/www/discourse/public/assets/vendor-b446ddf94c0fbadd8f0c95717a0ead0e.js
7094
7095Compressing: break_string-acd906f9185938240ab8b1b796f21d89.js
7096uglifyjs '/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'
7097gzip /var/www/discourse/public/assets/break_string-acd906f9185938240ab8b1b796f21d89.js
7098
7099Compressing: browser-update-1b088c371e098d02d2b87570660d5d68.js
7100uglifyjs '/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'
7101gzip /var/www/discourse/public/assets/browser-update-1b088c371e098d02d2b87570660d5d68.js
7102
7103Compressing: docker-manager-app-fc45ae9f5dc46a536ad03487a4ce173f.js
7104gzip /var/www/discourse/public/assets/docker-manager-app-fc45ae9f5dc46a536ad03487a4ce173f.js
7105
7106Compressing: docker-manager-vendor-e62406a2f5676e280b40622751069e76.js
7107gzip /var/www/discourse/public/assets/docker-manager-vendor-e62406a2f5676e280b40622751069e76.js
7108
7109I, [2016-02-18T06:52:43.633515 #37] INFO -- : Purging temp files
7110Bundling assets
7111Compressing Javascript and Generating Source Maps
7112
7113I, [2016-02-18T06:52:43.645225 #37] INFO -- : File > /usr/local/bin/discourse chmod: +x
7114I, [2016-02-18T06:52:43.651339 #37] INFO -- : File > /usr/local/bin/rails chmod: +x
7115I, [2016-02-18T06:52:43.657087 #37] INFO -- : File > /usr/local/bin/rake chmod: +x
7116I, [2016-02-18T06:52:43.662060 #37] INFO -- : File > /etc/update-motd.d/10-web chmod: +x
7117I, [2016-02-18T06:52:43.664942 #37] INFO -- : File > /etc/logrotate.d/rails chmod:
7118I, [2016-02-18T06:52:43.668271 #37] INFO -- : File > /etc/logrotate.d/nginx chmod:
7119I, [2016-02-18T06:52:43.673494 #37] INFO -- : File > /etc/runit/1.d/00-ensure-links chmod: +x
7120I, [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;
7121limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m;
7122limit_req_status 429;
7123server {
7124 in /etc/nginx/conf.d/discourse.conf
7125I, [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
7128I, [2016-02-18T06:52:43.680288 #37] INFO -- : > echo "Beginning of custom commands"
7129I, [2016-02-18T06:52:43.682055 #37] INFO -- : Beginning of custom commands
7130
7131I, [2016-02-18T06:52:43.683686 #37] INFO -- : > echo "End of custom commands"
7132I, [2016-02-18T06:52:43.685202 #37] INFO -- : End of custom commands
7133
7134I, [2016-02-18T06:52:43.686255 #37] INFO -- : Terminating async processes
7135I, [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
7136I, [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
7137235:signal-handler (1455778363) Received SIGTERM scheduling shutdown...
71382016-02-18 06:52:43 UTC [107-2] LOG: received fast shutdown request
71392016-02-18 06:52:43 UTC [107-3] LOG: aborting any active transactions
71402016-02-18 06:52:43 UTC [114-2] LOG: autovacuum launcher shutting down
7141235:M 18 Feb 06:52:43.747 # User requested shutdown...
7142235:M 18 Feb 06:52:43.844 * Saving the final RDB snapshot before exiting.
7143235:M 18 Feb 06:52:43.874 * DB saved on disk
7144235:M 18 Feb 06:52:43.874 # Redis is now ready to exit, bye bye...
71452016-02-18 06:52:43 UTC [111-1] LOG: shutting down
71462016-02-18 06:52:43 UTC [111-2] LOG: database system is shut down
7147sha256:0a7236e0cd560b6d04dd344ca899eb3c3d867998b327af7fc716fd4140fc43e7
7148bb5ad96d1835f9209c5972d714c95276922a16a295657420f7a45b9845714b54
7149Successfully 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
715253da31f101beda7f8468522ff4c9330f0a4ecd45e70de0732f940a1c652b9378
7153root@localhost:/var/discourse#