174 Commits

Author SHA1 Message Date
Jay Taylor
beeb040c62 Reworked CurrentDatabase API to return the name instead of `*gorm.DB'. 2015-08-11 08:59:59 -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
Jinzhu
a4e0ef6509 Refactor reuse existing database connection 2014-11-25 15:21:28 +08:00
jnfeinstein
1d6b59f223 Allow .Open to reuse existing database connections.
This commit allows you to pass a string or an existing database
connection as the source for gorm. The dialect is still required
because a) there is no common reference to it as far as i know, and
b) gorm allows the dialect to differ from the driver. So, for the sake
of simplicity, you still have to specity the dialect.

This is useful if you have an existing transaction, but still
want to use gorm to format your queries.

This is dependent on the defintion of DB in pkg database/sql having
the field 'dsn', which is the database source, obtained via reflect.
2014-11-25 15:21:28 +08:00