Project

pgmodelgen

0.0
No commit activity in last 3 years
No release in over 3 years
Rake task that generates/updates activerecord models based on current schema in the postgresql DB
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.2.5
 Project Readme

pgmodelgen

Rake task that generates/updates activerecord models based on current schema in a postgresql DB.

rake db:gen_model

output

Generating for: my_db.public with prefix 

	Creating models for these tables

		user
		account
	Writing to ./app/models//user.rb
	Writing to ./app/models//account.rb

The resulting models

user.rb

# encoding: utf-8

class User < ActiveRecord::Base 
  
	#--- auto_gen_start ---
	#
	# This is generate using gen_pg_models, dont make changes
	# within auto_gen_XXXXX as it will be overwriten next time
	# gen_pg_models is run.
	#

	# Columns

	#		email_address       	text       
	#		password_hash       	text       
	#		user_id             	int4      	 nextval('user_user_id_seq'::regclass)
	#		account_id            int4      	 

	# Table config 

	self.table_name = "user"
	self.primary_key = "user_id"
	self.sequence_name = "user_user_id_seq"

	# Constraints 

	validates_presence_of :email_address 
	validates_presence_of :password_hash 


	validates_numericality_of :user_id, :only_integer => true ,:allow_nil => true 
	validates_numericality_of :account_id, :only_integer => true

	validates_uniqueness_of :email_address

	# Foreign keys 

  belongs_to :fkey____ACCOUNT_account_id____ACCOUNT_account_id____, :foreign_key => :account_id, :primary_key => :account_id, :class_name => "Account"

	#--- auto_gen_end ---

end

account.rb

# encoding: utf-8

class Account < ActiveRecord::Base 

	#--- auto_gen_start ---
	#
	# This is generate using gen_pg_models, dont make changes
	# within auto_gen_XXXXX as it will be overwriten next time
	# gen_pg_models is run.
	#

	# Columns

	#		account_id          	int4      	 nextval('account_account_id_seq'::regclass) 
	#		name                	text

	# Table config 

	self.table_name = "account"
	self.primary_key = "account_id"
	self.sequence_name = "account_account_id_seq"

	# Constraints 

	validates_presence_of :name 


	validates_numericality_of :account_id, :only_integer => true ,:allow_nil => true 

	validates_uniqueness_of :name

	# Foreign keys 

	has_many   :fkey____USER_account_id____ACCOUNT_account_id____, :foreign_key => :account_id, :primary_key => :account_id, :class_name => "User"

	#--- auto_gen_end ---

end 

Contributing to pgmodelgen

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  • Please try not to mess with the Rakefile, version, or history.

Copyright

Copyright (c) 2013 Darwin. See LICENSE.txt for further details.