125 Commits

Author SHA1 Message Date
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
jnfeinstein
429a100856 Add additional methods of specifying the 'select' portion of a query.
This commit adds more ways of specifying selects:

-) You can now pass in a []string.  This is mostly for convenience,
since you may want to dynamically create a list of fields to be
selected.

-) You can now use variables.  This is important because a select
could take user input.  For example, finding a MAX between a record
and a given number could be easily done using select, and then
you don't have to process anything in backend logic.  This is also
necessary to use postgres text search capabilities (which actaully
play nicely with the rest of gorm).

-) You can now chain select calls.  This could be useful in
conjunction with gorm's scopes functionality.
2014-11-17 07:36:26 -05:00
Jinzhu
a29ac54e48 Limit condition should not be inherited by following queries 2014-10-28 17:18:11 +08:00
Jinzhu
5eeff5d38f Fix some errors for the mssql support pull request 2014-09-19 21:49:04 +08:00
Joel Trost
6b7d0879c5 Ran gofmt and removed panic statements
Unnecessary panics in create_test and delete_test removed
2014-09-16 14:24:55 -07:00
Joel Trost
f79e1a2ef6 GORM support for MSSQL, passes all tests 2014-09-16 14:21:35 -07:00
Jinzhu
b2360c11da Add Fields for embedded struct 2014-08-30 21:42:35 +08:00
Robert B Gordon
94aa843830 Add HasTable() 2014-08-29 00:28:54 -05:00
Jinzhu
5347765bd3 Merge pull request #206 from cihangir/master
gorm: added ability to change the time.now format
2014-08-27 16:19:55 +08:00
Jinzhu
922395c965 Add InstantSet for DB 2014-08-25 17:10:46 +08:00
Jinzhu
3af077ac46 Refact First, Last to make it possible to reset table name in Plugin 2014-08-25 16:41:26 +08:00
Cihangir SAVAS
4e90fbf4e8 gorm: added ability to change the time.now format 2014-08-23 01:00:04 -07:00
Jinzhu
39ac95adbb Add InstanceSet, InstanceGet fomr Scope 2014-08-20 17:05:02 +08:00
Jinzhu
9012c9ea09 Add Set, Get method for DB 2014-08-20 16:25:01 +08:00
Jinzhu
14fdbdd965 AutoMigrate accepts structs 2014-08-20 11:56:39 +08:00
Shirou WAKAYAMA
5ad9306146 Add DropTableIfExists. 2014-08-05 23:14:40 +09:00
Jinzhu
4d98c8c0bc Specify database dialect when open database, fixes #169 2014-08-05 10:34:41 +08:00
Benjamin Ruston
d699c85486 Use fmt.Errorf 2014-08-04 19:54:05 +01:00
Jinzhu
90106d82c5 Export Relationship 2014-07-31 14:38:16 +08:00
Jinzhu
2356182ea7 Rename joinTable to relationship 2014-07-30 20:59:52 +08:00
Jinzhu
e1e68debdc improve association 2014-07-30 20:48:36 +08:00
Jinzhu
ba95de5c50 Rename relations to associations 2014-07-30 14:30:21 +08:00
Jinzhu
d7400c2df4 Don't sort by primary key if it doesn't exist in First/Last 2014-07-29 18:29:03 +08:00
Jinzhu
2bffb43138 Write stub code for Many2Many 2014-07-29 17:28:10 +08:00
Jinzhu
11dc47587c Support inline condition when Delete 2014-07-24 18:30:12 +08:00
Jinzhu
1c1df2318c Fix exception for FirstOrCreate when search condition is nil 2014-07-01 15:55:19 +08:00
Jinzhu
6c5b95e2b2 Return query error in FirstOrInit and FirstOrCreate 2014-06-23 20:10:54 +08:00
Vladimir Garvardt
d2e526bc2d db.Create() for force insert with predefined primary key 2014-06-12 00:51:43 +04:00
Jinzhu
f32fa0cb6e Add RowsAffected for DB 2014-06-05 17:58:14 +08:00
Vladimir Garvardt
d1dc0ccbef AddUniqueIndex 2014-06-01 02:35:56 +04:00
Vladimir Garvardt
cdce84fd1a AddIndex for multiple columns 2014-06-01 02:26:17 +04:00
Jinzhu
288c8e37af Merge branch 'sunfmin-master'
Conflicts:
	main.go
2014-04-25 07:23:26 +08:00
Jinzhu
a46d149579 remove package dialect for easier contribution 2014-04-25 07:20:23 +08:00
Felix Sun
1ff3c79c75 When multiple databases have the same table name and column names, automigrate doesn't work 2014-04-25 00:39:38 +08:00
Jinzhu
fd3ce3b39a Add method to close gorm db connection 2014-04-24 10:55:17 +08:00
Xavier Dumesnil
5e62e7fdad Include scope.TableName() in ORDER statement for First() & Last() 2014-04-10 16:29:09 +02:00
Timothy Stranex
42448cb5d6 Add DB.CommonDB() instead of DB.Tx(), as discussed in the PR thread. 2014-03-17 12:08:44 +02:00
Timothy Stranex
a336f51444 Add DB.Tx() method to provice access to the underlying sql.Tx instance. 2014-03-16 18:24:32 +02:00
Jinzhu
2c33502503 Add tests for updated_at will be updated when update value with Assign 2014-02-18 10:03:14 +08:00
Jinzhu
e2897f0c9b clone callback when call Callback 2014-01-29 10:25:58 +08:00
Jinzhu
036df5f46b Move scope_database to scope.go 2014-01-28 17:40:09 +08:00
Jinzhu
6f1dd5fae3 API for search 2014-01-28 16:56:51 +08:00
Jinzhu
2adbc4b8a6 move all code to scope 2014-01-28 15:54:19 +08:00
Jinzhu
05ce3d3933 related with plugin system 2014-01-28 12:28:44 +08:00
Jinzhu
ae68c0fb47 make count works 2014-01-28 11:38:53 +08:00
Jinzhu
5fd2e0d54f make pluck works 2014-01-28 11:37:32 +08:00
Jinzhu
7a99f37ba4 Make exec works with plugin system 2014-01-28 10:29:12 +08:00
Jinzhu
7bebf685f4 refact 2014-01-28 10:23:31 +08:00
Jinzhu
275de4f133 Add method inlineCondition 2014-01-28 10:06:03 +08:00