norbert / database_constraints forked from fesplugas/database_constraints
- Source
- Commits
- Network (2)
- Downloads (0)
- Wiki (1)
- Graphs
-
Tree:
0fff5b6
Francesc Esplugas (author)
Sat Apr 25 03:26:57 -0700 2009
database_constraints / README.rdoc
Database Constraints
Adding database constraints to PostgreSQL the Rails way.
Available constraints:
- Email: Validates format of email
- Login: Validates uniqueness of login names
- Positive: Validates positiveness of a number
- Length: Validates length of a value
- Uniqueness
- Foreign keys
Example
Foreign keys:
class AddForeignKeysToModels < ActiveRecord::Migration
def self.up
# add_foreign_key :from_table, :from_column, :to_table
add_foreign_key :articles, :user_id, :users
end
def self.down
# remove_foreign_key :from_table, :from_column
remove_foreign_key :articles, :user_id
end
end
Validations:
class AddConstraintsToModels < ActiveRecord::Migration
def self.up
add_email_check :users, :email
add_login_check :users, :login
add_positive_check :products, :price
add_length_check :users, :login, :is => 8
add_uniqueness_check :user, :login
end
def self.down
remove_email_check :users, :email
remove_login_check :users, :login
remove_positive_check :users, :price
remove_length_check :users, :login, :is => 8
remove_uniqueness_check :user, :login
end
end
How to test?
Create a PostgreSQL database named database_constraints and run rake.
Copyright © 2008-2009 Francesc Esplugas Marti, released under the MIT license
