Skip to content

Instantly share code, notes, and snippets.

@sumskyi
sumskyi / some_shit.sql
Created April 13, 2009 14:52
dump spend and advisor earnings
-- SPENT BY SEEKER
DROP TABLE IF EXISTS purchased20;
CREATE TEMPORARY TABLE purchased20 AS
SELECT t.user_id FROM bucket_transactions t
INNER JOIN users u ON (u.id = t.user_id AND u.user_type = 1)
WHERE t.transaction_type IN (3, 4) AND
t.created_at > '2009-09-16'
GROUP BY t.user_id
HAVING SUM(t.amount) > 20;
@sumskyi
sumskyi / dump.sh
Created October 5, 2009 18:53
from users where status = 0
mysql -uroot main_final -e 'select id, login from users where status = 0 order by id' | gzip > status0.csv.gz
@sumskyi
sumskyi / clean_unused_ivr.rake
Created December 21, 2009 07:27
desc 'clean unused IVR tables'
namespace :db do
desc 'clean unused IVR tables'
task :clean_unused_ivr_tables, :suffix1, :suffix2, :needs => :environment do |t, args|
def current_version
ivr_config_file = File.dirname(__FILE__) + "/../../config/ivr_version.yml"
raise 'Missing ivr_version.yml' unless File.exists?(ivr_config_file)
ivr_version = YAML.load_file(File.expand_path(ivr_config_file)).to_s
raise 'Empty or broken ivr_version.yml' unless ivr_version =~ /\A\d+\Z/
@sumskyi
sumskyi / imssh.rb
Created February 25, 2010 10:38
ssh keys switching
#!/usr/bin/env ruby
require 'pp'
logins = %w(vlad marat artyom)
change_to = ARGV.first
raise 'Enter name as param!' if change_to.nil?
change_to.strip!
@sumskyi
sumskyi / 20100326124521_create_customer_to_lists.rb
Created April 9, 2010 11:20
migration with lock, customer_to_lists
class CreateCustomerToLists < ActiveRecord::Migration
def self.up
create_table :customer_to_lists, :force => true do |t|
t.integer "customer_id", :null => false
t.integer "customer_list_id", :null => false
end
conn = ActiveRecord::Base.connection
#convert
DELIMITER $$
DROP PROCEDURE IF EXISTS clear_runaway_conferences$$
CREATE PROCEDURE clear_runaway_conferences()
MODIFIES SQL DATA
BEGIN
DROP TABLE IF EXISTS _in_process;
CREATE TEMPORARY TABLE _in_process (`state` VARCHAR(32));
@sumskyi
sumskyi / scope_gate.rb
Created April 14, 2010 09:12
scope gate example
class_eval do
{
:total_npm => [BucketContribution::Type::NON_PAYABLE_MARKETING, TransactionType::MANUAL_CREDIT_TO_NON_PAYABLE_MARKETING],
:total_pm => [BucketContribution::Type::PAYABLE_MARKETING, TransactionType::MANUAL_CREDIT_TO_PAYABLE_MARKETING],
:total_deposits => [BucketContribution::Type::DEPOSIT, TransactionType::MANUAL_CREDIT_TO_DEPOSIT],
:total_earnings => [BucketContribution::Type::SERVICES_EARNED, TransactionType::MANUAL_CREDIT_SERVICES_EARNED]
}.each do |name, i|
define_method "#{name}=" do |amount|
BucketContribution.delete_all(["user_id = ? AND bucket_type = ?", self.id, i[0] ])
@sumskyi
sumskyi / clarity.sh
Created June 4, 2010 12:44
clarity.sh
#!/bin/sh
# ubuntu start/stop
BIN="/usr/bin/clarity"
test -x $BIN || exit 0
CMD="$BIN -- --username=admin --password=secret --port=8989 /var/www/weblogs/ "
. /lib/lsb/init-functions
@sumskyi
sumskyi / authlogic_clearance_migration.rb
Created July 22, 2010 19:21
Authlogic to Clearance migration
class ClearanceUpdateUsersTo088 < ActiveRecord::Migration
# TODO: fix mysql columns from UTF8 to ASCII
def self.up
rename_column :users, :crypted_password, :encrypted_password
change_column :users, :encrypted_password, :string, :limit => 128
rename_column :users, :password_salt, :salt
change_column :users, :salt, :string, :limit => 128
@sumskyi
sumskyi / model_change.rb
Created September 28, 2010 09:18
model change tracker
# Usage:
#
# class SomeModel < ActiveRecord::Base
# include ModelChange::Tracker
# will_track_changes_of :field_1, :field_2, ... field_n
# end
#
# Now, if we update a record, it will generate a new ModelChange record for every column (field_1, field_2...) that has changed.
#
# Also it will add a has_many relationship between SomeModel and ModelChange, so we can now use