Commit Graph

139 Commits

Author SHA1 Message Date
Jinzhu c13e2f18f8 New JoinTableHandler 2015-03-18 11:47:11 +08:00
Will Glynn 87ff58b598 Fix creation of composite unique indexes 2015-03-17 09:04:12 -05: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 a549b6bd49 Refactor SQL Tag 2015-03-11 17:05:58 +08:00
Jinzhu 49454839bd Support Multi primary keys 2015-03-11 11:28:30 +08:00
Jason Lee 708d85763c Dialect Index first, before AddIndex 2015-03-09 21:33:25 +08:00
Jinzhu 6fed43162f Create Indexes with AutoMigrate 2015-03-09 17:22:16 +08:00
Jinzhu 42f934d60e Fix nil condition 2015-03-06 10:49:26 +08:00
Jinzhu 80576bbbbc Add Table method for JoinTableHandler 2015-03-04 13:56:47 +08:00
Jinzhu 61a878dc2d Fix Related for belongs to association 2015-03-02 15:55:24 +08:00
Jinzhu 4e8d43dd4f Refactor check HasTable, HasColumn 2015-02-28 17:01:27 +08:00
Jinzhu 22b1a93e03 Add JoinTableHandler test 2015-02-28 14:16:51 +08:00
Jinzhu aa0a4012be Escaping table names when AddForeignKey 2015-02-28 09:25:05 +08:00
Jinzhu ce72988e96 Refactoring API for plugin system 2015-02-26 14:40:30 +08:00
Jinzhu 10340e6ad7 Support SQL expression 2015-02-24 22:06:35 +08:00
Jinzhu 068e774540 Overwrite Select conditions 2015-02-23 08:58:52 +08:00
Jinzhu 49a33dd5d0 Remove other select conditions for count 2015-02-22 22:40:12 +08:00
Jinzhu 0d2c37e310 Refactor Model Struct 2015-02-18 12:50:37 +08:00
Jinzhu 5c478b46e1 Use Common Initialisms from golint 2015-02-18 10:36:32 +08:00
Jinzhu 672ba4ffc9 Rename ToSnake to ToDBColumnName 2015-02-18 09:26:35 +08:00
Jinzhu 0b32041135 Review and Refactor 2015-02-17 22:55:14 +08:00
Jinzhu d6439f4147 Fix tests after refactor 2015-02-17 18:01:24 +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
Andrew Martin f37ccf2a7e more linting 2015-02-17 10:21:18 +11:00
Andrew Martin f9638f3633 linting 2015-02-17 10:19:42 +11:00
Jinzhu f4e705b749 Fix compile error 2015-02-16 16:42:01 +08:00
Jinzhu 3a73206010 Refactor model struct 2015-02-16 16:35:26 +08:00
Jinzhu 5d692a6bf2 Try to cache struct fields 2015-02-15 23:01:09 +08:00
Vytautas Šaltenis 76d1d1e1cc Fix typo: Condiation -> Condition 2015-02-11 21:14:34 +02: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 9757958106 Fix pointers for AutoMigrate 2015-02-09 21:14:48 +08:00
sendyHalim a8b3e8d3e2 Add Scope.addForeignKey() 2015-02-07 18:04:10 +07:00
Jinzhu b33f30714b Fix Error when using custom columns with ignored fields 2015-02-05 17:42:24 +08:00
Jinzhu e2c989be17 Remove unnecessary IsIgnored check 2015-01-23 09:04:07 +08:00
Jinzhu 5330572c25 Fix Exec with raw string 2015-01-20 14:55:38 +08:00
Jinzhu f8e4e16e09 Fix Where with string 2015-01-20 11:30:01 +08:00
Andrew Brampton fef286a7bc Fixes #335 - Added scoped table name to "deleted_at" where clause. This ensures it works when the deleted_at column is ambigious, for example, during a join. 2015-01-11 13:49:36 -08:00
Jinzhu 1e6e785651 Fix return incorrect sql type 2015-01-05 08:43:13 +08:00
Constantin Schomburg 045b4d6d2a Fix error when chaining empty where conditions 2015-01-04 13:47:25 +01: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 1aaac379ae Fix tests for mysql, postgres 2014-11-24 18:16:07 +08:00
Shirou WAKAYAMA e313827f04 fix panic problem when the struct has unexported field. 2014-11-19 12:44:57 +09: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
ryanss 62b447bc9a Create tables with fields in same order as defined in struct 2014-11-17 07:36:26 -05:00
Jinzhu b1c2a22646 Remove unnecessary ToSnake 2014-11-12 10:23:54 +08:00
Paolo Galeone da3e74ba6f Add support for signed and unsigned integer types as primary key type 2014-11-12 10:09:06 +08:00
deoxxa c041e53612 fix query generation for one-to-one relations 2014-11-06 10:52:23 +11:00
Tristan Storch 9bee4239d4 FieldValueByName does now only what it should
FieldValueByName in utils.go does now only what it should and has proper errors.
2014-10-01 16:20:12 +02:00
Joel Trost a6b243a3e9 fix for bad rebase 2014-09-16 14:49:29 -07: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 0f3a9a8d02 Support include struct type in the foreign key to avoid ambiguous 2014-09-08 11:19:25 +08:00
Jinzhu 953c347ba7 Refactor Scope 2014-09-02 19:03:01 +08:00
Jinzhu 6271cf0e55 Fix tests for postgres 2014-08-30 22:39:28 +08:00
Cihangir SAVAS 4e90fbf4e8 gorm: added ability to change the time.now format 2014-08-23 01:00:04 -07:00
Jinzhu febc826511 Don't check relations if field is ignored 2014-08-14 21:54:23 +08:00
Shirou WAKAYAMA 5ad9306146 Add DropTableIfExists. 2014-08-05 23:14:40 +09:00
Jinzhu 8308491d9a Fix AutoMigrate with nested Scanner 2014-08-04 14:37:51 +08: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 0d3085393e Add IndirectValue for Scope 2014-07-30 14:58:00 +08:00
Jinzhu 371e6af99e Create join table when run AutoMigrate 2014-07-30 14:20:38 +08:00
Jinzhu 14590a65dc Save many to many relations into join table 2014-07-30 14:18:15 +08:00
Jinzhu f56e071375 Refact parse SQL tag, set default size to 255 2014-07-29 17:52:23 +08:00
Jinzhu 2bffb43138 Write stub code for Many2Many 2014-07-29 17:28:10 +08:00
Jinzhu b929a082d7 Fix remove index for sqlite and postgres 2014-07-29 12:02:03 +08:00
Jinzhu 2d3bcf5297 Refact untils.go 2014-07-25 16:53:28 +08:00
Jinzhu 40c16f3c29 Export method ToSnake and SnakeToUpperCamel 2014-07-21 14:06:54 +08:00
Jinzhu 325e6c2ef1 Fix tests with go v1.3 2014-07-02 11:56:44 +08:00
Jinzhu 0cba662be0 Add method QuotedTableName for Scope 2014-06-03 17:17:30 +08:00
Jinzhu 2fff8a7fac Revert "quote table name"
This reverts commit 38a06bfdaa.
2014-06-03 17:16:34 +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 38a06bfdaa quote table name 2014-05-24 09:54:17 +08:00
Jinzhu 66e6c9af9f Add method HasTable, HasColumn to dialect 2014-04-25 09:08:48 +08:00
Jinzhu 288c8e37af Merge branch 'sunfmin-master'
Conflicts:
	main.go
2014-04-25 07:23:26 +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
Paolo Galeone bcb1ca67c0 Add support for primary key different from id 2014-04-06 04:10:45 +02:00
Jinzhu 1949baf5c8 Test Related with search conditions 2014-03-26 08:48:40 +08:00
Jinzhu e6c953dd4c Support custom types from base types 2014-03-16 09:58:32 +08:00
Jinzhu 24d527670b Use the same database for Related 2014-03-07 19:08:33 +08: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 c25f26149e Fix comparing uncomparable type error 2014-01-30 16:41:10 +08:00
Jinzhu 5eed96457b rename couple of scope related methods 2014-01-29 12:00:57 +08:00