Jinzhu
6732a50dfb
Get Dialect of DB
2016-09-13 07:41:42 +08:00
Jinzhu
02f6ae3c4e
If failed to update current record with Save, try to create a new one
2016-09-07 21:54:19 +08:00
Jinzhu
c1c4f9f86e
Add ORDER BY sql expression support
2016-06-28 11:15:42 +08:00
Jay Taylor
1485f4bce9
Use validated interface{} for limit/offset values to ensure values greater than
...
max 32-bit integer are addressable, and in a backwards-compatible way.
2016-06-23 06:29:51 -07:00
Jinzhu
f926dd9f9f
Revert "Use int64 for limit/offset values to ensure values > 32-bit int are addressable."
2016-06-16 16:31:50 +08:00
Jay Taylor
9b0fb2feb9
Use int64 for limit/offset values to ensure values greater than max 32-bit
...
integer are addressable.
2016-06-08 17:03:22 -07:00
Jinzhu
021d7b3314
Fix migrate indexes with CreateTable, AutoMigrate for soft delete
2016-03-17 18:12:25 +08:00
Jinzhu
8c099e0945
Fix AddUniqueIndex with soft delete
2016-03-17 18:09:21 +08:00
Jinzhu
846a2d401a
Fix scan columns with same name
2016-03-10 17:13:48 +08:00
Jinzhu
8de97c2883
Refactor Scope updatedAttrsWithValues
2016-03-09 16:45:53 +08:00
Jinzhu
d08894cd69
Rename test files
2016-03-08 22:00:15 +08:00
Jinzhu
946909f1e8
Add DropTableIfExists back
2016-03-07 21:34:14 +08:00
Jinzhu
88184a989e
Update godoc
2016-03-07 21:09:05 +08:00
Jinzhu
779c4d436e
Refactor based on golint
2016-03-07 18:43:15 +08:00
Jinzhu
ec110657da
Refactor based on golint
2016-03-07 17:49:55 +08:00
Jinzhu
3055bad1e8
scope.Fields() return slice of *Field
2016-03-07 14:25:41 +08:00
Jinzhu
2522f03c1f
Set identity insert on after create transaction, close #841
2016-03-05 19:22:33 +08:00
Jinzhu
6bd0862811
Only update non blank fields that has been changed
2016-02-18 23:17:35 +08:00
Jinzhu
115789960a
Joins support parameters, close #673
2016-02-16 22:48:26 +08:00
Jinzhu
4e8370e18b
Refactor dialect
2016-02-15 14:59:15 +08:00
Jinzhu
6546ec3b5e
Scan Rows into struct, fix #59
2016-02-14 23:29:06 +08:00
Jinzhu
f4456e139e
Register dialects
2016-02-14 18:06:42 +08:00
Jinzhu
86b4b20278
Merge branch 'master' into v1.0_dev
2016-02-14 14:18:35 +08:00
Jinzhu
77928d8373
Check argument is string or not in HasTable
2016-02-14 14:17:25 +08:00
Jinzhu
d92c5db9e7
Refactor dialect
2016-01-19 13:11:11 +08:00
Jinzhu
e159ca1914
Refactor dialect
2016-01-18 20:32:52 +08:00
Jinzhu
e38b1e0948
Remove uncessary NeedPtr method
2016-01-17 17:12:19 +08:00
Jinzhu
8e2aaa92c9
Rename Callbacks to Callback
2016-01-16 21:55:00 +08:00
Jinzhu
f1237e4fe9
Refactor Callback
2016-01-16 21:46:57 +08:00
Jinzhu
dc23ae63bf
Keep refactoring association mode
2016-01-16 17:29:39 +08:00
Jinzhu
8d716be896
Fix some go vet/lint reports
2016-01-15 21:16:48 +08:00
Jinzhu
f0364a0fb5
Merge branch 'master' into v1.0_dev
2016-01-12 15:47:50 +08:00
Jinzhu
341d047aa7
Rollback to old Unscoped API
2016-01-12 15:27:25 +08:00
Jinzhu
43e9035dad
Fix Association Count with Soft Delete
2016-01-12 13:56:41 +08:00
Jinzhu
f574429f5e
Return pointer when Open
2016-01-10 21:26:55 +08:00
Jinzhu
aa55bd3fd2
Add more tests for customized foreign keys for many2many relations
2016-01-03 17:20:24 +08:00
Jinzhu
4e45e6dc2d
Use field.TagSettings
2016-01-03 10:00:18 +08:00
Jinzhu
19b85b1f17
Compatible with both gorm, sql tag
2016-01-03 09:52:27 +08:00
Jinzhu
e541ca5cdf
Fix DropTableIfExists with string
2015-12-16 21:00:56 +08:00
Athurg Feng
f1decc2c3e
Fix FirstOrXXX access invalid memory address
...
*DB is cloned, we should ALWAYS use the cloned pointer instead of original one.
2015-10-12 22:38:41 +08:00
Jinzhu
4da2c28d4d
Fix data race warning when get cached model struct
2015-10-01 07:09:00 +08:00
Jinzhu
1d5f5f43f3
Support create/drop multiple tables
2015-08-26 11:54:07 +08:00
Jinzhu
81c00fdc8f
Don't add duplicated error
2015-08-18 11:09:03 +08:00
Jinzhu
dd0d4d931f
Add errorsInterface
2015-08-14 14:53:26 +08:00
Jinzhu
0996ddb604
Rename Errors to GetErrors
2015-08-14 12:29:53 +08:00
Jinzhu
309740983e
Add Errors
2015-08-14 11:04:05 +08:00
Jay Taylor
17917d49d8
Reverted to original `NewRecord' func as per @jinzhu's feedback.
2015-08-12 09:32:18 -07:00
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
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
Jinzhu
e9684db42a
Show error message if not using addressable value for auto migration
2014-11-25 13:44:14 +08:00