176 Commits

Author SHA1 Message Date
Jay Taylor
526fff01b7 Merge branch 'jay/current_database' into jay/ddl-errors 2015-08-11 09:05:53 -07:00
Jay Taylor
beeb040c62 Reworked CurrentDatabase API to return the name instead of `*gorm.DB'. 2015-08-11 08:59:59 -07:00
Jay Taylor
da31f58607 Ensure DDL dialect queries propagate error states to descendent scopes.
Includes relevant unit-test.

Branched from jay/current_database (please merge that branch first!).
2015-08-08 14:25:15 -07:00
Jay Taylor
70725f9d77 `CurrentDatabase' determines current dbname by querying the database.
Preserves the gorm-style query API.
2015-08-08 08:56:23 -07:00
Jinzhu
6b8f2fcab8 Send a ping to make sure the database connection is alive, thanks @pariz 2015-08-02 07:37:33 +08:00
Jinzhu
a7762ea7d6 Return error happend in Create/Update when using FirstOrCreate 2015-08-01 12:00:35 +08:00
Jinzhu
6f30170fec Use copy logger into itself instead of using parent's 2015-08-01 11:12:39 +08:00
Jinzhu
dc428d2364 Fix compile error for association 2015-07-30 17:26:10 +08:00
Jinzhu
a29230c86f multpile foreign keys 2015-07-30 16:23:51 +08:00
Jinzhu
2a1d64c3e0 Return cloned db instance for AddForeignKey 2015-06-24 14:09:59 +08:00
Jay Taylor
c2c1dd1fc8 Fix errors being inaccessible due to errors being set on different *DB instance than what is returned. 2015-06-23 15:29:44 -07:00
Jinzhu
dbedca4e5f Don't run auto migrate if join table doesn't exist 2015-06-23 14:19:59 +08:00
Jinzhu
b96ca76e59 Set table name handler 2015-05-27 12:19:48 +08:00
Jinzhu
c2dda88f9a Use Get to replace InstanceGet 2015-05-19 16:58:33 +08:00
Jinzhu
ef4299b398 Add RowQuery callback 2015-04-17 18:27:20 +08:00
Jinzhu
4fbc9d2a8f Remove foundationdb from tests all script because it is not downloadable from offical site 2015-04-17 14:52:59 +08:00
Jinzhu
e2eef50fb4 Add SetTableNameHandler 2015-04-08 14:56:03 +08:00
Jinzhu
03966a1e20 Merge pull request #436 from jaytaylor/master
FoundationDB dialect integration
2015-03-30 14:55:50 +08:00
Jay Taylor
ab48cd222a UpdateColumns(...) no longer triggers save of associated records. 2015-03-28 14:15:12 -07:00
Jay Taylor
dcc06e22f7 FoundationDB dialect layer and compatibility updates. 2015-03-24 10:35:19 -07:00
Jinzhu
7d16055a5d Don't use instance setting for order_by_primary_key 2015-03-23 11:07:39 +08:00
Jinzhu
94a5ebe5b4 Refactor JoinTableHandler 2015-03-20 11:22:14 +08:00
Jinzhu
44b106c8e2 Fix tests 2015-03-19 18:23:54 +08:00
Jinzhu
c13e2f18f8 New JoinTableHandler 2015-03-18 11:47:11 +08:00
Jinzhu
5d52826b3d Create with Omit 2015-03-12 18:01:27 +08:00
Jinzhu
da7830ea50 Add SelectAttrs, OmitAttrs 2015-03-12 15:50:38 +08:00
Jinzhu
94adc3e1d8 Export Unscoped Field for search 2015-03-12 15:01:59 +08:00
Jinzhu
6e5d46bf37 Refactor Search API 2015-03-12 14:47:07 +08:00
Jinzhu
df33db6ff9 Save cached model structs globally 2015-03-11 18:33:50 +08:00
Jinzhu
49454839bd Support Multi primary keys 2015-03-11 11:28:30 +08:00
Jinzhu
287ae22ca6 Add method New back 2015-03-04 13:56:47 +08:00
Jinzhu
34997385b0 Add HasIndex method for dialect interface 2015-03-02 23:02:40 +08:00
Jinzhu
22b1a93e03 Add JoinTableHandler test 2015-02-28 14:16:51 +08:00
Jinzhu
6d64e6837b Add JoinTableHandler 2015-02-28 12:05:14 +08:00
Jinzhu
33e6b14632 Clear value from db after set table name 2015-02-26 16:08:26 +08:00
Jinzhu
ce72988e96 Refactoring API for plugin system 2015-02-26 14:40:30 +08:00
Vytautas Šaltenis
59f32f605c Fix a few typos 2015-02-24 21:17:35 +02:00
Jinzhu
73a0401678 Cache generated model structs 2015-02-17 23:18:12 +08:00
Jinzhu
0b32041135 Review and Refactor 2015-02-17 22:55:14 +08:00
Jinzhu
139b9a37e7 Merge branch 'master' into refactor 2015-02-17 08:38:32 +08:00
Jinzhu
73b6f0eace Linting according to golint 2015-02-17 08:34:01 +08:00
Jinzhu
3a73206010 Refactor model struct 2015-02-16 16:35:26 +08:00
Jinzhu
6864d5e5bd Add polymorphic_test.go 2015-02-13 11:26:02 +08:00
Jinzhu
6dc33d6d94 Merge pull request #360 from sendyhalim/scope-add-foreignkey
Add Scope.addForeignKey()
2015-02-11 19:35:57 +08:00
Jinzhu
dd635a17c2 Preload belongs_to, has_one, has_many relations 2015-02-11 13:43:53 +08:00
Jinzhu
3b784c37c4 First try for the Preload feature 2015-02-11 09:47:10 +08:00
sendyHalim
a8b3e8d3e2 Add Scope.addForeignKey() 2015-02-07 18:04:10 +07:00
Jinzhu
5330572c25 Fix Exec with raw string 2015-01-20 14:55:38 +08:00
Jinzhu
3500dfa1b6 expose db.New as API 2015-01-06 15:11:41 +08:00
jnfeinstein
8b451f0084 Add support for polymorphic relationships using the POLYMORPHIC setting.
This commit adds support for two settings:

FOREIGNTYPE - A field that is used to store the type of the owner.

POLYMORPHIC - A shortcut to set FOREIGNKEY and FOREIGNTYPE to the same
value suffixed by "Id" and "Type" respectively.

The type is stored as the table name, which I thought might be useful
for other queries.

The biggest gotcha of this commit is that I flipped the definition of
has_one and belongs_to. gorm is very flexible such that it didn't
really care if it was a has_one or belongs_to, and can pretty much
determine it at runtime. For the sake of the error, I had to define
one of them as belongs_to, and I chose the one with the fields as
the belongs_to, like ActiveRecord. The error could probably be
genericized to "gorm cannot determine type", but I think it's nicer
to tell people DONT DO PATTERN XYZ CAUSE IT WONT WORK. Functionally,
it doesn't matter.
2014-11-25 21:35:47 -08:00