Ruby/ActiveRecord/Delete
Материал из Wiki.crossplatform.ru
Содержание |
Account.destroy_all :artist => "Garth Brooks"
is the same as this:
DELETE FROM accounts WHERE artist = "Garth Brooks"
Delete a record with destroy
=begin drop database Contact; create database Contact; use Contact; CREATE TABLE Employee ( id int unsigned not null auto_increment primary key, Name VARCHAR(50), Phone VARCHAR(15), departmentId int ); CREATE TABLE Department( id int unsigned not null auto_increment primary key, Name VARCHAR(50), Phone VARCHAR(15) ); =end require "rubygems" require "activerecord" ActiveRecord::Base.establish_connection( :adapter => "mysql", :host => "localhost", :username => "root", :database => "Contact") class Employee < ActiveRecord::Base set_table_name "employee" belongs_to :department end class Department < ActiveRecord::Base set_table_name "department" has_many :children, :class_name => "Employee", :foreign_key => :departmentId end account = Employee.new account.Name = "AAA" account.save account = Employee.find_by_Name("AAA") account.destroy
delete the associated record from the database
=begin create database Contact; use Contact; CREATE TABLE Employee ( Name VARCHAR(50), Phone VARCHAR(15) ); =end require "rubygems" require "activerecord" ActiveRecord::Base.establish_connection( :adapter => "mysql", :host => "localhost", :username => "root", :database => "Contact") class Employee < ActiveRecord::Base set_table_name "employee" set_primary_key "Name" end account = Employee.find_by_Name("AAA") puts account.destroy
find_by_sql
=begin drop database Contact; create database Contact; use Contact; CREATE TABLE Employee ( id int unsigned not null auto_increment primary key, Name VARCHAR(50), Phone VARCHAR(15), departmentId int ); CREATE TABLE Department( id int unsigned not null auto_increment primary key, Name VARCHAR(50), Phone VARCHAR(15) ); =end require "rubygems" require "activerecord" ActiveRecord::Base.establish_connection( :adapter => "mysql", :host => "localhost", :username => "root", :database => "Contact") class Employee < ActiveRecord::Base set_table_name "employee" belongs_to :department end class Department < ActiveRecord::Base set_table_name "department" has_many :children, :class_name => "Employee", :foreign_key => :departmentId end Employee.find_by_sql("SELECT employee.* FROM employee")