Commit Graph

333 Commits

Author SHA1 Message Date
Jeremy Kemper
44d1420757 Add Model.create! to match existing model.save! method. When save! raises RecordInvalid, you can catch the exception, retrieve the invalid record (invalid_exception.record), and see its errors (invalid_exception.record.errors).
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2863 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-03 18:54:16 +00:00
David Heinemeier Hansson
8c512a1caf Added extension capabilities to has_many and has_and_belongs_to_many proxies [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2861 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-03 09:06:42 +00:00
Jeremy Kemper
aabf9093a0 Correct reader method generation for primary key attribute: handle case when primary_key is defined but its column is nil, such as when the model class is backed by a view.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2850 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-02 17:30:59 +00:00
Florian Weber
d5859d0b17 Added that an DuplicateMigrationVersionError gets raised when multiple migrations have the same version number.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2832 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-31 15:43:02 +00:00
David Heinemeier Hansson
c21fdf31a5 Changed :dbfile to :database for SQLite adapter for consistency (old key still works as an alias) (closes #2644) [Dan Peterson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2825 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-30 08:10:04 +00:00
David Heinemeier Hansson
68160b3485 Added migration support for Oracle (closes #2647) [Michael Schoen]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2817 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-29 18:40:49 +00:00
David Heinemeier Hansson
e508595cf7 Fixed SQL Server adapter so it honors options[:conditions] when applying :limits (closes #1978) [Tom Ward] Fixed SQL Server adapter to pass even more tests and do even better (closes #2634) [rtomayko@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2781 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-28 09:20:05 +00:00
David Heinemeier Hansson
bc73b838e0 Made more tests for SQLServer pass (closes #2486) [Tom Ward]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2779 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-28 07:42:16 +00:00
David Heinemeier Hansson
816f37a2ad Added migration support to SQL Server adapter (please someone do the same for Oracle and DB2) (closes #2625) [Tom Ward]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2778 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-28 07:40:28 +00:00
Jeremy Kemper
e7cd7e9d95 r3800@sedna: jeremy | 2005-10-28 00:39:05 -0700
Readonly constraints, association collection method_missing, dup constraint options


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2774 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-28 04:53:22 +00:00
David Heinemeier Hansson
beff664f2a Refactor DB exceptions and deal more with DB2 (closes #2624)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2761 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-27 08:18:41 +00:00
David Heinemeier Hansson
0b92d38c00 Added :offset and :limit to the kinds of options that Base.constrain can use (closes #2466) [duane.johnson@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2748 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-26 13:20:02 +00:00
David Heinemeier Hansson
dd257a3ccb Fixed handling of nil number columns on Oracle and cleaned up tests for Oracle in general #2555 [schoenm@earthlink.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2741 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-26 12:57:11 +00:00
David Heinemeier Hansson
85a7892644 Added quoted_true and quoted_false methods to db2_adapter and cleaned up tests for DB2 (closes #2493) [maik schmidt]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2739 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-26 12:47:23 +00:00
Jamis Buck
06303ed34e Allow symbols to rename columns when using SQLite adapter. #2531 [kevin.clark@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2731 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-25 19:28:53 +00:00
Jeremy Kemper
17d3fd3165 r2736@asus: jeremy | 2005-10-24 17:08:12 -0700
Test for eager associations with limits should not assume that records are ordered by id.
 r2737@asus:  jeremy | 2005-10-24 19:06:09 -0700
 Fail fast if invalid primary key column.
 r2746@asus:  jeremy | 2005-10-25 15:37:28 -0700
 Begin rollback of fixture delete order.  Its solves a problem for 1% of users who already have a workaround while severely slowing down the other 99%.
 r2747@asus:  jeremy | 2005-10-25 16:03:01 -0700
 Rollback the rest.
 r2748@asus:  jeremy | 2005-10-25 16:06:26 -0700
 Re-add fixtures declaration to conditions scoping test
 r2749@asus:  jeremy | 2005-10-25 16:09:03 -0700
 Re-add fixtures declaration to finder test
 r2750@asus:  jeremy | 2005-10-25 16:13:50 -0700
 Don't assume keyboards table is empty


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2730 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-25 18:14:09 +00:00
Jeremy Kemper
f57ba4cc52 r2727@asus: jeremy | 2005-10-24 14:14:36 -0700
Fallback to @loaded_fixtures = {}.  Use Logger#silence.  Test fixture isolation with use_instantiated_fixtures and with no fixtures declaration.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2719 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-24 16:45:33 +00:00
Jeremy Kemper
0e4c5b0288 r2726@asus: jeremy | 2005-10-24 14:11:59 -0700
correct primary key semantics: foo.id and foo.real_pk_column should both exist and return nil if foo.new_record?


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2718 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-24 16:45:22 +00:00
Jeremy Kemper
a2f0ae76d1 r2718@asus: jeremy | 2005-10-23 14:45:30 -0700
Ticket 2404 - fixture delete order
 r2719@asus:  jeremy | 2005-10-23 15:01:13 -0700
 Keep closer tabs on dirty, loaded, and declared fixtures.  Closes #2404.
 r2720@asus:  jeremy | 2005-10-23 16:09:19 -0700
 ensure table names are strings.  set dirty = dirty union loaded rather than dirty = loaded.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2714 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-23 19:02:38 +00:00
Jeremy Kemper
3ab3a70b7c Clarify semantics of ActiveRecord::Base#respond_to? Closes #2560.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2705 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-22 16:43:39 +00:00
Tobias Lütke
5f0b9369cc Fix Associations#clear for not-yet-loaded associations (Patrick Lenz)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2695 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-20 15:05:48 +00:00
Jeremy Kemper
7219e82fe6 HABTM finder sets :readonly => false. Closes #2525.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2694 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-20 14:53:04 +00:00
Marcel Molina
90e8707a36 Make all of tests runnable on their own.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2691 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-19 22:53:55 +00:00
Jeremy Kemper
328ef3feaa Parenthesize :conditions
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2681 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-18 23:52:07 +00:00
David Heinemeier Hansson
851dd0806b Added support for using limits in eager loads that involve has_many and has_and_belongs_to_many associations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2675 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-18 12:02:25 +00:00
Michael Koziarski
966616db45 unbreak unit tests on windows
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2671 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-18 01:17:43 +00:00
Tobias Lütke
2a1a0e5275 Fixed a few sqlserver test case errors. Closes #2486
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2666 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-17 18:17:05 +00:00
Tobias Lütke
13fccff283 modified finder test a tiny bit so that it passes on sqlserver
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2657 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 20:50:06 +00:00
Jeremy Kemper
cd2b092f0c r3957@asus: jeremy | 2005-10-16 00:01:55 -0700
more sequence tests from #2292


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2640 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 04:05:15 +00:00
Jeremy Kemper
7117fdb8ce r3616@asus: jeremy | 2005-09-26 23:09:28 -0700
Ticket 2292 - Sequences, schemas, and fixtures
 r3917@asus:  jeremy | 2005-10-15 10:43:24 -0700
 fix pk assert
 r3918@asus:  jeremy | 2005-10-15 10:46:52 -0700
 rework query cache connection= override
 r3919@asus:  jeremy | 2005-10-15 10:47:45 -0700
 correct fixtures usage
 r3920@asus:  jeremy | 2005-10-15 10:53:23 -0700
 correct attr assignment
 r3921@asus:  jeremy | 2005-10-15 12:59:10 -0700
 sequences
 r3922@asus:  jeremy | 2005-10-15 16:36:09 -0700
 reset fixtures work with sequences
 r3951@asus:  jeremy | 2005-10-15 23:23:12 -0700
 cut down excess features
 r3952@asus:  jeremy | 2005-10-15 23:40:30 -0700
 don't test for PostgreSQL specifically


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2639 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 03:45:39 +00:00
Jamis Buck
1ea085ec7e Comment out the memory leak test because it b0rks the testing environment. Update some contact info.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2636 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-16 02:30:04 +00:00
Michael Koziarski
e48055a184 Renaming the deprecated finder test
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2625 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 19:52:40 +00:00
Jamis Buck
e7f61eab56 squash the memleak in dev mode finally (fingers crossed, here)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2620 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 18:21:27 +00:00
Jeremy Kemper
da675e536d Support ordered YAML fixtures. #1896
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2600 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 02:01:38 +00:00
Tobias Lütke
7086993161 Adds :nullify option to :depends. Closes #2015 (Robby Russell)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2595 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 00:46:55 +00:00
Jeremy Kemper
64fcb752f2 r3618@sedna: jeremy | 2005-10-14 12:06:03 -0700
Branch for :join tainting
 r3631@sedna:  jeremy | 2005-10-14 20:13:49 -0700
 Introduce read-only records, object.readonly\!, object.readonly?, Foo.find(:all, :readonly => true).  Foo.find(:all, :joins => '...') also implies :readonly => true.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2594 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-15 00:19:56 +00:00
Marcel Molina
6a6df5f1e2 Change quote delimiters for sql interpolation to obviate SyntaxErrors. Closes 2215. [leroen@gmail.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2593 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-14 23:28:35 +00:00
Tobias Lütke
5fa8793f02 DRYed up Associations#clear. Closes #1906 [Caleb]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2580 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-14 12:53:39 +00:00
Marcel Molina
ebf618b7fc Delegate access to a customized primary key to the conventional id method. Closes #2444.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2569 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 20:44:39 +00:00
Jamis Buck
99f3ae0845 Fix errors caused by assigning a has-one or belongs-to property to itself
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2562 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 19:21:45 +00:00
Jeremy Kemper
33eb297edf r3579@sedna: jeremy | 2005-10-13 12:02:01 -0700
decrease need to edit AR mysql connect details by setting socket to mysql_config --socket.  if it doesn't work on your platform, well, you would've had to edit it anyway.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2558 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 19:06:04 +00:00
Jeremy Kemper
effe522515 r3577@sedna: jeremy | 2005-10-13 11:55:20 -0700
Add in_memory_connection for SQLite3 AR tests.  Uses :dbfile => ':memory:' so we don't have to manage db files.  It seems a bit quirky, so I'm including it as a separate connection type until we iron out the details.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2556 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-13 19:05:54 +00:00
Marcel Molina
af0df03fd3 Update DB2 adapter. Closes #2206.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2546 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-12 23:42:54 +00:00
Marcel Molina
b840e4ed50 Deprecated ActiveRecord::Base.threaded_connection in favor of ActiveRecord::Base.allow_concurrency.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2542 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-12 22:37:28 +00:00
Marcel Molina
0e0e774085 Protect id attribute from mass assigment even when the primary key is set to something else. Closes #2438.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2541 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-12 19:59:13 +00:00
Marcel Molina
f0b2b637ea Add test coverage for customized primary keys including a failing test for #2444.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2540 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-12 19:55:46 +00:00
Marcel Molina
31219f009c Add test coverage for content_columns. Closes #2432.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2532 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-11 03:51:58 +00:00
Marcel Molina
d736568f41 Speed up the setting of table_name. Closes #2428.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2520 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-10 18:59:56 +00:00
Marcel Molina
f4d1af3085 Fix typo of 'constrains' to 'contraints'. Closes #2069.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2510 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-09 22:08:16 +00:00
Marcel Molina
c8e364a93f Add ability to get all siblings, including the current child, with acts_as_tree. Recloses #2140.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2507 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-10-09 18:51:30 +00:00